如何在关机时执行操作?

时间:2015-05-26 22:23:02

标签: node.js application-shutdown

假设我将模块handler.js编写为Express.js中间件:

var info = {};

infohandler.setinfo = function(i){ info[i] = Math.random(); }
infohandler.saveinfo = function(){ fs.writeFileSync("info.json", info); }

function handler(req, res, next){ // here are some operation call to infohandler according to req. }

module.exports = handler;

在app.js中我导入了这个handler.js:

var handler = require("handler");

我想在服务器关闭之前将一些信息保存到文件中。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

使用process.on绑定到exit事件。在正常关闭时调用此事件:

process.on('exit', function () {
    // your clean up code
});

如果要捕获特定信号(例如使用kill(1)默认发送的SIGTERM)绑定到信号名称:

process.on('SIGTERM', function () { /* ... */ });

请注意,这将是disable the default action(关闭)。务必手动拨打process.exit