2

我需要关闭一个节点程序并让它重新启动。我需要在自己的程序中执行此操作,而不必使用永远需要设置的东西。

我知道我可以使用 process.exit() 来关闭程序,但是我能想到的任何事情都会打开它,我可以从节点内启动它会在它完成之前被 process.exit() 杀死。有没有办法在我退出之前从进程中分离 exec 调用?还有其他想法吗?我必须把它吸起来并永远使用吗?

4

1 回答 1

2

又快又脏,没有经过很好的测试:

var child_process = require('child_process');

process.on('SIGINT', function() {
  console.log('restarting...');
  child_process.fork(__filename); // TODO: pass args...
  process.exit(0);
});

console.log('Running as %d', process.pid);

setTimeout(function(){}, 1000000); // just some code to keep the process running
于 2013-10-22T12:33:16.280 回答