在通过 SSH 远程服务器执行耗时较长的编译任务时,网络波动或 SSH 连接意外中断会导致编译进程被强制终止。
Connection to 主机 closed by remote host.
Connection to 主机 closed.
GNU Screen 是一个强大的工具,它允许用户在一个终端会话中运行多个进程,并且可以断开连接而不终止这些进程。
创建一个新的窗口
创建一个新的 Screen 会话
screen -S xxx-build
这里的 xxx-build
是你为这个会话指定的名字。给会话命名可以帮助你在有多个会话时更容易地进行管理。
执行任务
一旦进入了新的 Screen 会话,你就可以像平常一样执行任何命令,比如开始一个编译任务。Screen 的主要优点之一是即使你断开了与服务器的连接,这些任务也会继续运行。
断开当前会话
完成任务启动后,你可以通过快捷键组合 Ctrl+A
后跟 D
来断开当前会话,这样会话会在后台继续运行。如果你想从另一个终端关闭会话连接,也可以使用 screen -d
命令。而如果你希望退出并关闭窗口,则可以直接输入 exit
。
查看和重新连接到会话
想要查看所有活动的 Screen 会话,可以使用:
screen -ls
这将列出所有已打开的会话以及它们的状态。若要重新连接到某个特定的会话,只需使用它的 ID 或名称:
screen -r id或窗口名称