是否可以用任何其他文件替换stdin文件?

时间:2016-03-04 16:14:55

标签: node.js stdin nohup

我有一个nodejs服务器,它将使用nohup启动。所以基本上它不会有标准输入。

我已经为我的nodejs服务器创建了守护进程,它完成了所有启动停止重启状态的功能。

但我不想立即停止nodejs服务器。我想在某些任务后停止它。所以我必须将命令发送到服务器的stdin。因此关闭将由服务器本身控制。是的我可以通过创建API来实现这一点。但它是我的最后一个选择。

是的,我的服务器从stdin获取输入并且运行良好。但是使用nohup我不会有stdin因此无法输入命令。

所以我的问题是,如果有一种方法可以将stdin更改为其他文件,我的服务器将以与stdin相同的方式从中获取输入。

1 个答案:

答案 0 :(得分:0)

如果您使用的是Linux或Mac,则可以向服务器进程发送信号。在Windows中你也可以,但我不知道命令。

例如,如果您想重新加载服务器,可以执行

kill -s SIGUSR2 processId

并在您的服务器

process.on('SIGUSR2', function() {
    console.log('Got SIGUSR2, reloading server...');
});