可能的重复项:
关闭控制台后,在启动程序后保持程序运行。
如何使用ssh在远程Unix计算机上运行命令并在命令完成之前退出?
嗨!
我想通过SSH连接到远程服务器从笔记本运行程序。问题是我要带着笔记本回家:)
如何保持程序运行?
可能的重复项:
关闭控制台后,在启动程序后保持程序运行。
如何使用ssh在远程Unix计算机上运行命令并在命令完成之前退出?
嗨!
我想通过SSH连接到远程服务器从笔记本运行程序。问题是我要带着笔记本回家:)
如何保持程序运行?
Answers:
“屏幕”很可能是您想要的。它允许您随意断开连接并重新连接。SSH进入服务器后,在启动程序之前先运行屏幕。Ctrl-a,Ctrl-d将断开您的连接(无论程序继续执行)。返回时,“ screen -r”将重新连接您,就像您从未离开过。
将其视为文本终端的VNC或RDP。在许多教程中搜索“使用屏幕”。
编辑添加:现在,我将推荐使用tmux,尤其是与脚本tmx结合使用时。拆分窗格(垂直和水平)并调整其大小的能力是整个屏幕的一大福音。
nohup
是将运行另一个命令并使其不受“挂断”信号影响的命令。
您可以像这样简单地运行它:
nohup command
但您还需要重定向stdin,stdout和stderr。有关更多信息,请参见手册页。
您可能还希望将其放在后台。
您还需要知道kill
命令才能最终终止它。
tee
重定向标准输入,标准输出,和标准错误。