【问题标题】:execute event on process termination with node.js使用 node.js 在进程终止时执行事件
【发布时间】:2017-03-03 14:44:17
【问题描述】:

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

我用process.on('exit', ... 尝试了它,但不起作用。我认为这仅在process.exit() 上执行。所以我正在寻找一种通用的方法来检测进程的终止或kill

【问题讨论】:

    标签: javascript node.js terminate


    【解决方案1】:

    您可以使用 SIGINT 捕获Ctrl + C

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

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

    这只会捕获 Ctrl + C 虽然它不会捕获 Windows 中的 End Task 等内容

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

    【讨论】:

    • 太棒了。这正是我一直在寻找的。谢谢!
    猜你喜欢
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 2015-09-05
    • 2022-01-20
    • 1970-01-01
    • 2011-05-27
    相关资源
    最近更新 更多