我正在尝试将一些关闭函数绑定到我的nodejs应用程序(版本0.8.12)。因为我产生了很多子进程,并且在分布式环境中工作,所以我现在通过
var n = spawn('killall', ['node']);问题是,很明显,on('exit', ...)逻辑不再起作用了,实际上我有这样的东西:
process.on('exit', function() {
if(exit_cb)
exit_cb()
else
console.log('About to exit.');
}); 而且每当我杀死应用程序时,它都不会触发。
有没有办法用killall命令添加一个关闭钩子,或者我是否应该找到另一种方法来杀死我的子进程以使钩子正常工作?
谢谢
发布于 2012-11-15 20:05:43
您需要监听killall通过dafault发送的SIGTERM信号。但您还需要在所有作业完成后手动停止您的进程。
process.on('SIGTERM', function() {
if(exit_cb) {
exit_cb();
process.exit();
} else {
console.log('About to exit.');
process.exit();
}
}); https://stackoverflow.com/questions/13395623
复制相似问题