我正在使用pm2模块运行nodejs服务器。我使用下面的命令行在putty上启动我的服务器:
pm2 start app.js
我想通过" custom"像quit
这样的服务器命令; save
; load
。我使用stdin这样做,我有一个看起来像的代码:
process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.on('data', function (text) {
if (text.trim() === 'quit') {
// I do something here
}
if (text.trim() === 'save') {
// I do another thing here
}
if (text.trim() === 'load') {
// I do another thing here
}
});
但是此代码不适用于pm2模块。 pm2进程粉碎了stdin进程(我不知道这是否是正确的说法)只有pm2命令被监听。
所以我的问题是:如何通过我的" custom"命令到服务器?
提前谢谢
答案 0 :(得分:0)
pm2创建一个子进程来启动应用程序。因此,pm2的标准输出不等于你的应用程序。所以很遗憾,目前你不能将pm2与stdin一起使用。
然而,有一个问题是解决这个问题。 https://github.com/Unitech/pm2/issues/2968
代码已实现且当前不在master中。如果你现在想要这个功能。您可以转到给定的提交并使用该版本的pm2来执行此操作。