Aye*_*edu 3 process ssh remote
我对 linux 真的很陌生(就像本周早些时候我开始的时候一样)所以如果这是一个非常简单的问题,请原谅我。我在远程服务器上运行一个程序,这是一个处理几百 GB 数据的漫长过程,所以我想让它在一夜之间运行。长话短说,我 SSH 进入,启动程序,观察它是否正在运行,然后关闭终端。我今天早上回来,看到它完全停在前一天晚上我终止 ssh 时的位置。当我关闭时,有没有办法让进程在服务器上运行?
Hun*_*son 11
正如其他答案所暗示的那样。您可以使用nohup <command> &
.
您也可以使用screen
,这(基本上)是一个可拆卸的终端。您可以使用该命令启动终端,screen
并在您想与它分离时启动终端。Ctrl+ad. 并重新连接您的终端运行screen -r <terminal_name>
. 如果您有多个分离终端,您可以使用该命令screen -r
查看分离终端的名称。
Screen 是一个全屏窗口管理器,它多路复用一个物理 ter?几个进程(通常是交互式 shell)之间的 minal。每个虚拟终端都提供 DEC VT100 终端的功能,此外还提供 ISO 6429(ECMA 48、ANSI X3.64)和 ISO 2022 标准(例如插入/删除行和支持多字符集)的几个控制功能。每个虚拟终端都有一个回滚历史缓冲区和一个允许在窗口之间移动文本区域的复制和粘贴机制。
编辑:
您也可以使用tmux
. 看看这里的一个基本的“如何使用tmux
”。
tmux
是一个终端多路复用器。什么是终端多路复用器?它使您可以在一个终端中的多个程序之间轻松切换、分离它们(它们继续在后台运行)并将它们重新附加到不同的终端。并且做得更多。