Express.js - 听取关机

时间:2016-04-29 16:41:46

标签: javascript node.js express

我有一个使用Express的Node.js应用程序。在那个应用程序中,我有一个看起来像这样的块:

const app = require('./app');
const port = process.env.PORT || 8080;
const server = app.listen(port);

server.on('listening', () =>
  console.log(`Application launched on ${app.get('host')}:${port}`)
);

这成功了。它在listening事件被触发时成功打印消息。我的问题是,当我的服务器停止/关闭时,是否有任何我可以收听的事件?或者当服务器停止收听时?

我想在这种情况下做一些清理工作。

2 个答案:

答案 0 :(得分:2)

您可以侦听节点的进程事件以进行关闭

// listen for TERM signal .e.g. kill
process.on ('SIGTERM', doSomething);

// listen for INT signal e.g. Ctrl-C
process.on ('SIGINT', doSomething); 

//or even exit event 

process.on('exit',doSomething); 

答案 1 :(得分:1)

您应该可以使用exit

来捕获此信息
process.on('exit', function() {
  console.log('Process terminating.')
});

正如文档中指出的那样,你不能推迟任何事情,这是一次性的交易。