screen是Linux下的一种多重视窗管理程序。在使用SSH远程登陆Linux时,如果连接非正常中断,重新连接时,系统将打开新的会话,无法恢复原来的会话,screen工具可以有效的解决这个问题。screen是一个终端多路转接器,在本质上,这意味着你能够使用一个单一的终端窗口运行多终端的应用。screen可以让一个或多个用户从不同终端多次登陆一个会话,并共享会话的所有特性(比如可以看到完全相同的输出),实现远程协助的功能。它同时提供了窗口访问权限机制,可以对窗口进行密码保护。
1、screen的安装
首先将系统盘插入到光驱,并挂载,挂载命令如下(CentOS7下):
[www.linuxidc.com@linuxidc]# mount /dev/sr0 /mnt
安装screen程序,命令如下:
[www.linuxidc.com@linuxidc]# rpm -ivh screen-4.1.0-0.21.20120314git3c2946.el7.x86_64.rpm
2、screen常用参数
-A:所有窗口适应新的显示宽度和高度。
-c file :用指定的文件代替screen的配置文件。
-d:断开连接到screen的终端(使用该命令时,screen的状态一定要是Attached,也就是说有用户连在screen里)。
-D:断开连接到screen的终端,与-d的区别在于-D会踢掉原来登录到screen的用户并让其处于logout状态。
-h lines:指定screen窗口缓冲区行数。
-list或-ls:显示当前运行的所有screen进程。
-m:在一个screen进程里再重新创建一个新的screen进程。
-r [session]:恢复离线的screen进程,若有多个断开的进程,需要指定【pid,tty,host】。
-R:先尝试恢复离线的进程,若找不到离线的作业,即建立新的screen进程。
-S sockname:指定screen作业的名称。
-v:显示screen版本信息。
-wipe:检查当前所有的screen作业,并删除已经无法使用的screen作业。
-x:加入到screen作业(多屏显示)。
–d –r:连接一个screen进程,如果该进程是attached,那么先踢掉远端用户再连接。
–D –r:连接一个screen进程,如果该进程是attached,那么先踢掉远端用户并让他logout再连接。
3、screen的简单使用
(1)、screen –S test:创建一个screen作业,可以直接运行screen命令创建,但这样创建的screen作业没有名字,推荐使用-S命令指定作业名的方式创建。
(2)、screen –list或screenls:列出当前运行的左右screen作业。
(3)、Cral+a+d:从当前screen作业剥离出去的快捷键。
(4)、screen –r test:恢复到名为test的screen作业中。
(5)、screen –x test:加入到名为test的screen作业中。
(6)、exit:从当前screen作业中退出。
(7)、screen –wipe:检查当前所有的screen作业,并删除已经无法使用的screen作业。
※重点总结※:
(1)当使用系统时只有一个screen请求时,直接使用screen -x 直接连接进行帮助
(2)当使用系统上面有多个screen请求时,必须使用screen -x [SESSION]进行帮助
若请求的名称不同,直接指明需要连接的screen名称
若请求名称相同或者相似,需指出需要连接的screen名称和该进程前面的PID的进程号
(3)对于系统备份时间长,运行长的命令,建议先开启screen,后执行,防止当前shell出现断网等情况,导致的数据的丢失和错误。
(4)使用时加入会话建议直接使用程序的PID进行连接。
(5)当用户的请求[SESSION]为数字时,建议使用用户的PID进行直接连接,减少错误的产生。
(6)当系统上面有多个SESSION请求时,建议直接使用用户SESSION前面的PID进行连接。