在killall nodejs关机挂钩
我试图将一些关机function绑定到我的nodejs应用程序(版本0.8.12)。 由于我正在产生大量的subprocess并在分布式环境中工作,所以我正在通过杀死这个应用程序
var n = spawn('killall', ['node']);
问题是,显然这个on('exit', ...)
逻辑不再有效,事实上我有这样的东西:
process.on('exit', function() { if(exit_cb) exit_cb() else console.log('About to exit.'); });
而且,只要我杀了应用程序就不会触发。
有没有办法使用killall
命令添加一个closures钩子,或者我应该find另一种方法来杀死我的subprocess,以使钩子工作?
谢谢
你需要听听killall
发送的SIGTERM
信号。 但是也需要在所有作业完成后手动停止进程。
process.on('SIGTERM', function() { if(exit_cb) { exit_cb(); process.exit(); } else { console.log('About to exit.'); process.exit(); } });