退出 ssh 连接后,进程被终止/超时

退出 ssh 连接后,进程被终止/超时

我在 Ubuntu ssh 服务器上的后台运行一个 python 脚本。nohup python x.py & 经过一段时间(大概半小时)后,当我返回服务器并输入 ps 时,python 脚本停止运行。不知道为什么。我不希望它超时。

答案1

SSH 会话中的进程属于您的 shell 进程;通常是:
sshd [your-username] tty[your-tty]

当您终止会话时,所有子进程也将退出。

为了解决这个问题,请使用终端多路复用或守护进程。

最常见的多路复用器是屏幕tmux

然后,您可以使用 启动屏幕screen -S my-session-name,并正常运行您的进程。

然后你可以按ctrl+ a,d脱离屏幕,进程仍会运行,但是作为屏幕的子项,而不是您的 ssh 会话

要重新连接,请输入screen -x my-session-name(-r 也有效)

相关内容