在 Node.js 中,process.on('SIGTERM', ...)
和 process.on('SIGINT', ...)
用于监听操作系统发送给 Node.js 进程的信号,以便在进程即将终止时执行一些清理操作。
process.on('SIGINT', callback)
- 监听
SIGINT
信号(Interrupt Signal) - 通常由用户在终端按下
Ctrl + C
时触发 - 用于处理用户主动中断程序的情况
- 监听
process.on('SIGTERM', callback)
- 监听
SIGTERM
信号(Termination Signal) - 通常由操作系统或进程管理器(如
systemd
、pm2
等)发送 - 用于请求进程正常终止,是一种优雅关闭的信号
- 监听
示例用法:
1 | // 处理 Ctrl+C 中断 |
这两个信号的主要区别在于触发方式和使用场景,但通常会执行类似的清理逻辑,如关闭数据库连接、保存当前状态等,以确保程序优雅退出而不是强制终止。