我有一个nodejs服务器,它将使用nohup启动。所以基本上它不会有标准输入。
我已经为我的nodejs服务器创建了守护进程,它完成了所有启动停止重启状态的功能。
但我不想立即停止nodejs服务器。我想在某些任务后停止它。所以我必须将命令发送到服务器的stdin。因此关闭将由服务器本身控制。是的我可以通过创建API来实现这一点。但它是我的最后一个选择。
是的,我的服务器从stdin获取输入并且运行良好。但是使用nohup我不会有stdin因此无法输入命令。
所以我的问题是,如果有一种方法可以将stdin更改为其他文件,我的服务器将以与stdin相同的方式从中获取输入。
答案 0 :(得分:0)
如果您使用的是Linux或Mac,则可以向服务器进程发送信号。在Windows中你也可以,但我不知道命令。
例如,如果您想重新加载服务器,可以执行
kill -s SIGUSR2 processId
并在您的服务器
process.on('SIGUSR2', function() {
console.log('Got SIGUSR2, reloading server...');
});