在 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 中断 |
这两个信号的主要区别在于触发方式和使用场景,但通常会执行类似的清理逻辑,如关闭数据库连接、保存当前状态等,以确保程序优雅退出而不是强制终止。