在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(); } });