Node.js can';无法在nodeJS中获取pm2退出或停止事件 我在nodeJS中使用pm2来保持服务器启动 上传到服务器上的代码并运行命令pm2 start app.js--name appName 但在某些情况下,当代码中出现错误或其他错误时,pm2会停止或杀死所有进程 当时我想发邮件告诉大家,pm2进程是停止还是停止
我在app.js中使用pm2.connect,但无法在pm2停止或终止时获取事件,以下是代码Node.js can';无法在nodeJS中获取pm2退出或停止事件 我在nodeJS中使用pm2来保持服务器启动 上传到服务器上的代码并运行命令pm2 start app.js--name appName 但在某些情况下,当代码中出现错误或其他错误时,pm2会停止或杀死所有进程 当时我想发邮件告诉大家,pm2进程是停止还是停止,node.js,pm2,Node.js,Pm2,我在app.js中使用pm2.connect,但无法在pm2停止或终止时获取事件,以下是代码 var pm2 = require('pm2'); pm2.connect(function() { pm2.launchBus(function(err, bus) { bus.on('process:event', function(data) { console.log('IN APP ===>', data.event); Logge
var pm2 = require('pm2');
pm2.connect(function() {
pm2.launchBus(function(err, bus) {
bus.on('process:event', function(data) {
console.log('IN APP ===>', data.event);
Logger.info("IN APP ====> ", data.event);
if (data.event === "exit") {
console.log('IN APP exit', data.event);
Logger.info("IN APP exit ====> ", data.event);
}
});
});
});
有了这段代码,我无法获得pm2停止或杀死时的任何事件
您可以监听节点进程事件,并注册回调功能,请查看下面的代码 **Ps:您必须运行
process.exit()代码>内部回调函数以关闭应用**
您可以调用process.exit()代码>改为发送邮件回拨
function cb () {
// Do stuff
// Send email
process.exit();
}
//do something when app is closing
process.on('exit', cb );
//catches ctrl+c event
process.on('SIGINT', cb );
// catches "kill pid" (for example: nodemon restart)
process.on('SIGUSR1', cb );
process.on('SIGUSR2', cb );
process
.on('uncaughtException', err => {
console.error(err, 'Uncaught Exception thrown');
process.exit(1);
});
我也有同样的问题