我正在尝试在后台启动nodejs服务器:
nodejs my_app.js &
但是它显示了调试消息(“从0.0.0.0开始......”)然后我通过ssh断开与服务器的连接,它终止了。为什么?
答案 0 :(得分:0)
答案 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