1 问题描述
利用ssh进行远程连接的时候,有时候如果不小心断了连接之后,正在进行的任务就会被杀死,特别是如果我们想要长时间运行一些程序的时候,这种情况下我们会崩溃的。
这时,我们就可以用screen
命令,可以完美的解决这个问题。
GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
2 screen使用
2.1 安装
ubuntu
下安装很简单,直接:
1 |
sudo apt install screen |
2.2 新建窗口
在实际使用的时候,首先创建一个新的名为name
的窗口:
1 |
screen -S name |
当我们输完命令之后,会发现依然是一个终端窗口,其实这个时候我们已经进入screen
了,我们可以在这个窗口运行我们想要的命令。比如训练一个深度学习模型,这往往需要很久,这时就可以创建一个screen
窗口,然后让它自己运行即可。
2.3 分离窗口
当程序开始运行的时候,我们就可以将会话分离
输入以下命令进行分离会话:
1 2 |
ctrl+A+D @[detached from 1689.mcj] |
2.4 恢复窗口
等我们想重新查看该终端的时候,再恢复会话即可。
1 2 3 4 5 |
screen -ls #There is a screen on: # 1689.mcj (06/12/2019 02:09:24 PM) (Detached) #1 Socket in /var/run/screen/S-ubuntu. screen -r 1689 |
如果状态为attached
,则需要先分离,再恢复:
screen -D -r 1689
2.5 如何复制多页文字?
正常进入screen之后,鼠标滚轮就不能进行页面滑动了,也就不能复制多个页面的文字,解决方法:
快捷键:Ctrl+A+[
本文最后更新于2021年8月24日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!