是否可以拦截默认的kill
信号并将其用作正常关闭的命令?这适用于Solaris SMF。我找到的可停止服务的最简单方法是将:kill
设置为关闭脚本,然后在Java中添加关闭挂钩。在这种情况下,我想为Node.JS做。我该怎么办?
编辑:目的是
@ alienhard的第一个建议是使用process.on('exit'...
,但似乎我无法用这种方法完成2号。
答案 0 :(得分:9)
有一个exit
事件:http://nodejs.org/docs/v0.3.1/api/process.html#event_exit_
process.on('exit', function() {
console.log('About to exit.');
});
编辑:替代方案可能对您有用,而不是杀死进程,发送SIGUSR1(kill -s SIGUSR1
)之类的信号,然后侦听此信号(请参阅发布的链接) @masylum在另一个答案中)并在完成或经过一段时间后显式终止process.exit()。
答案 1 :(得分:3)
我唯一想到的就是使用信号事件。
http://nodejs.org/docs/v0.3.1/api/process.html#signal_Events