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

Max*_*Max 15 ssh unix

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

你好!

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

如何保持程序运行?

Chr*_*ris 23

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

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

编辑添加:这些天我会推荐tmux代替,特别是如果与脚本tmx结合使用。拆分窗格(垂直和水平)并调整它们大小的能力是屏幕上的巨大福音。

  • 顺便说一句,如果您的连接超时或类似的情况,屏幕将继续运行,而您仍然连接到它。一些有用的命令: ctrl + a, ctrl + d = 从屏幕分离, screen -r = 重新连接到屏幕, screen -x = 在共享模式下连接到屏幕(可用于教学等,两个用户可以共享同一个屏幕),ctrl + a,esc = 进入滚动模式(再次点击 q 退出)。注意:如果您通过键入“screen program”启动屏幕,它将立即在屏幕中启动该程序,但如果它退出,您将丢失缓冲区。只输入“屏幕”会给你一个持久的终端。 (5认同)

Odd*_*ing 18

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

您可以简单地运行它:

nohup command

但您还需要重定向标准输入、标准输出和标准错误。有关更多信息,请参阅手册页。

您可能还想把它放在后台。

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


归档时间:

查看次数:

19386 次

最近记录:

11 年,8 月 前