在Node.js退出之前进行清理操作

我想告诉Node.js无论出于何种原因(Ctrl+ C,异常或任何其他原因)总是在退出前总是做一些事情

我尝试了这个:

process.on('exit', function (){
    console.log('Goodbye!');
});

我开始了该过程,将其杀死,但没有任何反应。我再次启动它,按Ctrl+ C,仍然没有任何反应...

YOC310660842020/03/18 18:10:11

io.js has an exit and a beforeExit event, which do what you want.

小卤蛋十三2020/03/18 18:10:11

这捕获了我可以处理的所有退出事件。到目前为止看来还算可靠和干净。

[`exit`, `SIGINT`, `SIGUSR1`, `SIGUSR2`, `uncaughtException`, `SIGTERM`].forEach((eventType) => {
  process.on(eventType, cleanUpServer.bind(null, eventType));
})