后台作业(以“&”启动)在注销时停止

后台作业(以“&”启动)在注销时停止

我正在使用 AWS 设置 Node.JS 服务器。我通过以下命令在后台启动节点:

node server.js &

但是,当我注销时,该进程就结束了。根据我以前的 'nix 经验,我以为它应该继续运行。我做错了什么?如何在终端注销后保持进程处于活动状态?

答案1

即使您以 开始&,该进程也是您的 shell 的子进程,例如bash。当您注销时,bash 及其子进程将一起终止。如果您想在注销后运行它,则必须由另一个进程启动它。例如,对于在运行时启动的进程,请尝试编写一个 rc 脚本并将其调用放入 /etc/rc.local

答案2

对于更简单的解决方案,如果不想使用 rc.scripts,只需使用以下命令从任何 shell 脚本启动它

#!/bin/bash 

作为第一行。这会自动导致它在单独的进程下启动

相关内容