我在远程 Linux 机器上运行了一些繁重且耗时的进程。我使用笔记本电脑通过 SSH 连接到这些机器,然后在沙发上运行这些进程。
但是,当我想关闭我的笔记本电脑时,我遇到了麻烦,因为远程进程被终止了。
我做了研究,发现“screen”对我来说是一个很好的解决方案,确实如此!(只要我不关闭笔记本电脑)。有没有办法“保留”“screen”会话,以便我可以关闭它然后重新连接到会话?
答案1
听起来您正在笔记本电脑上运行屏幕会话。然后从该屏幕会话 ssh 到远程主机。关闭笔记本电脑将终止本地屏幕进程,进而终止 ssh 会话。
您要做的是从笔记本电脑 ssh 到远程主机。然后在远程主机上启动屏幕会话。当您的笔记本电脑关闭时,ssh 会话将终止,但远程屏幕会话将继续存在。
下次登录远程系统时,您可以使用“screen -r”重新连接到屏幕会话,或者如果您有多个屏幕会话,则使用“screen -r < pid >”。
注意:如果您在 ssh 终止之前忘记从远程屏幕会话中分离,则屏幕会话可能会认为它仍处于连接状态。在这种情况下,您需要先执行“screen -dr < pid >”来分离会话。
答案2
您可以使用它nohup
来启动一个进程,该进程在您从计算机注销后仍将继续运行。这可能就是您正在寻找的。
答案3
如果您断开远程会话screen
,则可以安全地关闭笔记本电脑。
答案4
使用 nohup。另一个选择是使用 VNC。在服务器上创建 VNC 会话。然后无论何时工作都可以连接到它。(当长时间使用某些 GUI(例如 IDE)时更有用)