Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么node.js进程在ssh会话之后终止?_Node.js_Ssh - Fatal编程技术网

为什么node.js进程在ssh会话之后终止?

为什么node.js进程在ssh会话之后终止?,node.js,ssh,Node.js,Ssh,我正在远程机器(Ubuntu 14.04)上部署node.js程序,该程序在ssh会话后终止,即使我将其部署为后台进程 node app.js & 我知道永远使用可以解决这个问题,我已经尝试过了,而且非常有效。已经有一个线程描述了它的好解决方案,还有许多其他线程都描述了它的好工具和解决方案 但是,我想理解为什么node.js进程在 第一名,即使它作为后台进程运行 因为您是通过SSH连接的,所以所有进程都属于该会话 除非由命令指定,如 诺胡普 或者不挂断—简而言之,通过SSH属于您的会话

我正在远程机器(Ubuntu 14.04)上部署node.js程序,该程序在ssh会话后终止,即使我将其部署为后台进程

node app.js &
我知道永远使用
可以解决这个问题,我已经尝试过了,而且非常有效。已经有一个线程描述了它的好解决方案,还有许多其他线程都描述了它的好工具和解决方案

但是,我想理解为什么node.js进程在 第一名,即使它作为后台进程运行


因为您是通过SSH连接的,所以所有进程都属于该会话

除非由命令指定,如

诺胡普

或者不挂断—简而言之,通过SSH属于您的会话的所有进程都将随会话一起消亡


这就像用户打开chrome登录然后注销一样。一旦所有者注销,chrome线程将被释放

也就是说,SSH协议通过设计将进程绑定到SSH会话,并且在会话终止时,所有进程都将被终止?正确,所有与会话相关的所有权都将被终止,除非在其他方面进行了指定,如回答上的注释以及“nohup”有何帮助,它是否向操作系统发送特殊信号,使其远离绑定会话?嗯,
nohup
不会发送特殊信号。它会忽略会话结束后系统抛出的“挂断”信号。建议阅读:太好了,这个维基百科链接非常有用