一尘不染

如何将Node.js作为后台进程运行并且永不消亡?

linux

我通过腻子SSH连接到linux服务器。我试图将其作为这样的后台进程运行:

$ node server.js &

但是,在2.5小时后,终端变为非活动状态,该过程终止。无论如何,即使在终端断开连接的情况下,我仍然可以保持该过程正常进行吗?


编辑1

实际上,我尝试过nohup,但是一旦关闭Putty SSH终端或拔出Internet插头,服务器进程就会立即停止。

在腻子里我有什么需要做的吗?


编辑2(2012年2月)

永远有一个node.js模块。它将作为守护程序服务运行node.js服务器。


阅读 374

收藏
2020-06-02

共1个答案

一尘不染

简单的解决方案 (如果您对返回该过程不感兴趣,只希望它继续运行):

nohup node server.js &

还有一个jobs命令可以查看这些后台进程的索引列表。您可以通过运行kill %1kill %2将数字作为该进程的索引来杀死后台进程。

强大的解决方案 (如果它是交互式的,则允许您重新连接到该过程):

screen

然后,您可以通过按Ctrl + a + d进行分离,然后通过运行重新附加 screen -r

还可以考虑使用新的替代屏幕tmux。

2020-06-02