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