无法通过“&”使nodejs在后台工作

时间:2016-03-02 10:31:35

标签: javascript linux node.js ubuntu background

我正在尝试在后台启动nodejs服务器:

nodejs  my_app.js &

但是它显示了调试消息(“从0.0.0.0开始......”)然后我通过ssh断开与服务器的连接,它终止了。为什么?

3 个答案:

答案 0 :(得分:0)

尝试:

nohup node my_app.js &

  

http://www.tutorialspoint.com/unix_commands/nohup.htm

答案 1 :(得分:0)

因为'&'您的节点进程仍然与调用进程相关联(例如,您在其中键入的Shell)。通过杀死你的ssh-session,你也会杀死它的所有子进程。

来自@SourbhGupta的回答是一次性的。 nohup让子进程忽略挂断信号。因此,终止调用进程对其子进程没有影响。

答案 2 :(得分:0)

在屏幕内运行。

屏幕处理在后台运行。

1.sudo apt-get install screen

2.screen(开始屏幕处理)

3.运行您的服务

4.node my_app.js(没有&会做)

5.Ctrl + a + k将其分离。

有关屏幕的更多信息 - https://www.digitalocean.com/community/tutorials/how-to-install-and-use-screen-on-an-ubuntu-cloud-server