扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
问题
使用Screen创建虚拟终端避免Linux远程断线
解决方案
维护Linux的ssh工具在使用中,一旦遇到网络中断,则当前的shell就会自动关闭
当前的工作进度就会丢失,这对于远程升级等比较耗费时间的工作是非常不利的
对于远程调适代码也是很不可靠不安全的
为此,可以使用screen这个工具来解决这个问题。
对于最小化的linux,通常screen是不包含在系统内的。
需要查找操作系统的安装光盘,例如对于AS4update4
在其中的CD4.iso里边可找到screen-4.0.2-5.i386.rpm
到服务器上执行rpm -ivh screen-4.0.2-5.i386.rpm即可安装完成
打开一个ssh终端,执行screen,并回车,即可创建了一个新的虚拟终端
此时在上边执行的程序,如果遇到服务器断线是不会中断的,依然会在后台运行
当新的ssh连接到服务器后,执行screen -x 就可以连接到刚才的终端了
此外,利用screen建立的终端,还具有实时演示的效果。
比如两个用户A和B,分别从北京和上海使用SSH连接到一个服务器
A先执行Screen建立好虚拟终端,B执行screen -x连接上来
这时候的虚拟终端是唯一的,就像二人都在显示器前一样
A键入的命令和显示的结果,B都可以实施看到
B键入的命令和输入结果,A也可以实施看到
因此,利用Screen,还可以进行远程操作演示、培训等
注意:
1) 如果多次执行screen,则会建立多个虚拟终端。
当执行screen -x的时候,则会被询问,要连接到哪一个虚拟终端,如下所示:
[root@idc root]# screen -x
There are several suitable screens on:
1408.pts-0.idc (Attached)
1382.pts-4.idc (Attached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
[root@idc root]#
这个时候,要执行screen -x <终端名>,就可以连接到需要的终端,例如
screen -x 1382.pts-4.idc,即可连接到名为1382.pts-4.idc的虚拟终端上。
2) 退出虚拟终端的方法:首先用screen -x连接到终端,然后执行exit即可退出当前终端。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者