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

How node delete pid file before restart?

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

这是我的代码:

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

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

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

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

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