我有这样的节点代码,它可以检测到Ctrl+C按下时会在节点应用程序退出之前做一些事情。
process.on('SIGINT', function() {
/* DO SOME STUFF HERE */
process.exit()
})现在可以使用了,但我想在此过程中添加其他终止信号,以便当Ctrl+C、Node退出或服务器重新启动或关闭或任何其他原因节点应用程序退出触发终止信号并调用此进程并在退出之前在数据库中执行操作……
我需要补充的终止信号是:
SIGTERM
SIGINT
SIGQUIT
SIGKILL所以我想如果有可能的话:
process.on('SIGINT', 'SIGTERM', 'SIGQUIT', 'SIGKILL', function() {
/* DO SOME STUFF HERE */
process.exit()
})因此,为了传递多个终止信号来处理函数,我在上面添加了这样的函数,但它不是work...how,这可以在节点js中完成吗?
发布于 2017-10-24 11:37:28
最简单的方法:
['SIGINT', 'SIGTERM', 'SIGQUIT']
.forEach(signal => process.on(signal, () => {
/** do your logic */
process.exit();
}));发布于 2021-03-15 12:18:59
我宁愿和你一起去
/**
* Do stuff and exit the process
*/
function signalHandler() {
// do some stuff here
process.exit()
}
process.on('SIGINT', signalHandler)
process.on('SIGTERM', signalHandler)
process.on('SIGQUIT', signalHandler)因为风格和清晰的原因而不是循环
https://stackoverflow.com/questions/46908853
复制相似问题