我在Azure(Microsoft服务器)上托管了一个节点js express app。出于某种原因,我感觉应用程序偶尔重启一次,我想抓住并记录此事件。所以我试试这个,但它不起作用:
process.on('exit', function (code) {
var exitMsg = 'Process exited with code ' + code;
// log exitMsg synchronously
});
据我所知,在Windows上捕获退出事件存在一些问题。也许你有一些解决方案?感谢。
答案 0 :(得分:0)
我认为您可能正在寻找'SIGINT'
事件。它会在您的应用被中断或取消时发生。
process.on('SIGINT', () => {
console.log('Process Interrupted, exiting');
// eventually exit
process.exit(); // Add code if necessary
});
值得注意的是,如果您使用IISNode在IIS中托管您的应用程序,这可能无法正常工作。
答案 1 :(得分:0)
在蔚蓝/胜利时,这可能会有所帮助:
if (process.platform === "win32") {
require("readline")
.createInterface({
input: process.stdin,
output: process.stdout
})
.on("SIGINT", function () {
process.emit("SIGINT");
});
}