SSH 断开连接后如何保持程序运行?

SSH 断开连接后如何保持程序运行?

可能重复:
在程序启动后关闭控制台并保持程序运行
如何使用 ssh 在远程 Unix 机器上运行命令并在命令完成之前退出?

你好!

我想通过 SSH 连接到远程服务器,从我的笔记本运行程序。问题是我要带着我的笔记本回家 :)

如何保持程序继续运行?

答案1

'screen' 很可能就是您想要的。它允许您随意断开连接并重新连接。通过 SSH 进入服务器后,在启动程序之前运行 screen。Ctrl-a、Ctrl-d 将断开连接(程序将继续运行)。当您返回时,'screen -r' 将重新连接您,就像您从未离开过一样。

将其视为文本终端的 VNC 或 RDP。搜索“使用屏幕”可找到许多教程。

编辑后补充:这些天我建议tmux相反,特别是与脚本一起使用时閱讀。能够拆分窗格(垂直和水平)并调整其大小,这对屏幕来说是一个巨大的好处。

答案2

nohup是一个将运行另一个命令并使其不受“挂断”信号影响的命令。

你可以简单地运行它:

nohup command

但您还需要重定向 stdin、stdout 和 stderr。请参阅手册页了解更多信息。

您可能还想将其放在背景中。

您还需要知道kill最终杀死它的命令。

相关内容