You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SIGTERM回调未触发?Node.js Windows环境问题咨询

问题原因及解决办法

你的问题出在Windows系统对POSIX信号的支持限制上:

Node.js里的SIGTERM是类Unix系统的标准终止信号,但Windows原生并不支持这个信号。当你在Windows上调用process.kill(process.pid, 'SIGTERM')时,Node.js会直接终止当前进程,根本不会触发你注册的SIGTERM信号处理函数,所以控制台没有输出。

可行的解决方式

  • 改用Windows支持的信号,比如SIGBREAK或者SIGINT,示例代码:
process.on('SIGBREAK', () => {
  console.log('Got SIGBREAK signal.')
  process.exit() // 手动退出进程
})

process.kill(process.pid, 'SIGBREAK')
  • 如果需要模拟类似SIGTERM的优雅退出逻辑,可以自定义事件来实现:
process.on('customExit', () => {
  console.log('Performing graceful exit...')
  // 这里写清理逻辑
  process.exit()
})

// 触发自定义事件
process.emit('customExit')

内容的提问来源于stack exchange,提问作者Noob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 17:23:09