我通过putty SSH连接到linux服务器。我试着把它作为后台进程运行,就像这样:

$ node server.js &

然而,2.5小时后,终端变得不活动,进程死亡。有没有办法,我可以保持进程活着,即使终端断开?


编辑1

实际上,我尝试了nohup,但只要我关闭Putty SSH终端或拔掉互联网,服务器进程就会立即停止。

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


编辑2(2012年2月)

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


当前回答

试试这个简单的解决方法

CMD & exit

其他回答

您了解过nohup命令吗?

简单的解决方案(如果你对返回进程不感兴趣,只想让它继续运行):

nohup node server.js &

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

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

screen

然后可以通过按Ctrl+a+d来分离,然后通过运行screen -r来重新连接

还可以考虑screen的更新替代方案tmux。

试试这个简单的解决方法

CMD & exit

对于Ubuntu,我使用这个:

(exec PROG_SH &> /dev/null &)

问候

$ disown node server.js &

它将从活动任务列表中删除命令并将命令发送到后台