我需要关闭一个节点程序并让它重新启动。我需要在自己的程序中执行此操作,而不必使用永远需要设置的东西。
我知道我可以使用 process.exit() 来关闭程序,但是我能想到的任何事情都会打开它,我可以从节点内启动它会在它完成之前被 process.exit() 杀死。有没有办法在我退出之前从进程中分离 exec 调用?还有其他想法吗?我必须把它吸起来并永远使用吗?
我需要关闭一个节点程序并让它重新启动。我需要在自己的程序中执行此操作,而不必使用永远需要设置的东西。
我知道我可以使用 process.exit() 来关闭程序,但是我能想到的任何事情都会打开它,我可以从节点内启动它会在它完成之前被 process.exit() 杀死。有没有办法在我退出之前从进程中分离 exec 调用?还有其他想法吗?我必须把它吸起来并永远使用吗?
又快又脏,没有经过很好的测试:
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