node.js pm2退出

时间:2014-10-02 15:05:15

标签: javascript node.js pm2

我使用pm2来运行节点应用程序。我必须在应用程序关闭之前保存数据。这段代码在shell中运行良好:

process.on('exit', function(){
    log.debug('exit');
});

process.on('SIGINT', function(){
    log.debug('SIGINT');
});

process.on('uncaughtException', function(){
    log.debug('uncaughtException');
});

当我使用" pm2停止"停止应用程序时代码不起作用。我认为pm2会杀死进程。

1 个答案:

答案 0 :(得分:6)

SIGINT通常在用户调用关闭后触发(例如Ctrl + C)。假设pm2触发突然关闭,则SIGINT不会被触发。

相反,你应该听取应该涵盖两种情况的终止信号SIGTERM

process.on('SIGTERM', function() {
    // clean up
});