使用 Node.js 在进程终止时执行事件

eis*_*ehr 1 javascript terminate node.js

有没有办法node.js在进程终止时执行事件?例如,当express服务器在控制台中运行并且我点击CTRL+C它时,应该在某处写入日志。

我尝试了一下process.on('exit', ...不起作用。我认为这仅在process.exit(). 因此,我正在寻找一种通用方法来检测进程的终止或终止。

ndo*_*hoe 5

您可以Ctrl + C使用 SIGINT捕获

process.on('SIGINT', () => {
  console.log('Log that Ctrl + C has been pressed');
})
Run Code Online (Sandbox Code Playgroud)

但是,这会阻止默认操作,因此您还必须process.exit()在记录消息后致电

这只会捕获 Ctrl + C,但不会捕获 Windows 中的“结束任务”等内容

您可能还想收听SIGTERM(在 Linux 上终止)、SIGHUP(在 Windows 上关闭控制台)和SIGBREAKCtrl+Break在 Windows 上)