节点如何在重启之前删除pid文件?

时间:2015-09-21 14:05:57

标签: javascript node.js process pm2

我使用PM2来管理节点进程,我尝试删除每个节点的pid文件,然后重新启动,但每次都不行。

这是我的代码:

process.on('SIGTERM', function() {
    fs.unlink('./log/' + process.pid);
});

有时它工作正常,有时候一些旧的pid文件仍然存在。

1 个答案:

答案 0 :(得分:1)

SIGTERM可能不是终止您的应用程序的唯一信号。你可以尝试这样的事情:

var signals = ['SIGHUP', 'SIGINT', 'SIGQUIT', 'SIGABRT', 'SIGTERM'];

signals.forEach(function (signal) {
  process.on(signal, function() {
    fs.unlink('./log/' + process.pid);
  });
});