远程登录时,如果不是持续在操作,就会出现网络连接中断,这让我很苦恼。。。特别是在下载或者进行其他操作的时候,screen可以帮我解决这个问题。
Screen 是一个 Linux 里面非常古老而又非常有用的命令,提供从单个 SSH 会话中使用多个 shell 窗口(会话)的能力。当会话被分离或网络中断时,screen 会话中启动的进程仍将运行,我们可以随时重新连接到 screen 会话。
1. 安装screen
#CentOS 7
yum install screen
#Debian/Ubuntu
apt install screen
2. 启动一个会话
screen -S 会话名
这样就在当前的 SSH 窗口里面开启了一个新的窗口,我们可以在这个窗口里面运行那些需要长时间跑着的命令(比如 aria2 的下载、scp/rsync 的文件传输、dd 系统等等)
3. 挂起一个会话
按 Ctrl+a+d,就可以保持这个 screen 到后台并回到我们 SSH 的主终端。
我们可以随意关掉 SSH 窗口或者在 SSH 窗口里干一些别的事情,刚刚的传输任务已经在另一个窗口继续运行了。
这其实表示我们已经成功从 Screen 会话中分离出来并回到原来的 Shell 会话中了。这时,Screen 会话会继续留在后台执行更新任务。而且无论是网络断开连接,还是关闭原来的 Shell 会话,它都不会受到影响。
当然,如果来不及按会话分离快捷键(Ctrl+a+d)网络就断开了,Screen 会话也不会关闭,它一样会继续留在后台执行更新任务。
4. 查看已经存在的screen终端
screen -ls
5. 恢复一个会话
screen -r 具体名字
比如:
screen -r 1352719
或 screen -r lala
都可以恢复lala这个会话。
6.关闭一个会话
exit
其他用法可`man screen`查看。
评论区