多窗口会话管理命令:Screen
用于网络不稳定市场出现断网,或者需要后台保持其他命令执行的一个应用命令:
screen为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。
语法
screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]
参数说明:
-
-A 将所有的视窗都调整为目前终端机的大小。
-
-d<作业名称> 将指定的screen作业离线。
-
-h<行数> 指定视窗的缓冲区行数。
-
-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-
-r<作业名称> 恢复离线的screen作业。
-
-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-
-s<shell> 指定建立新视窗时,所要执行的shell。
-
-S<作业名称> 指定screen作业的名称。
-
-v 显示版本信息。
-
-x 恢复之前离线的screen作业。
-
-ls或--list 显示目前所有的screen作业。
-
-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。
实例
离开 screen 终端 (暂时离开,保留screen会话中的任务或程序):
先按CTRL+a,然后再按d。这个就是dettach的意思,离开screen的session。
重新连接离开的 screen 终端:
# screen -ls //显示已创建的screen终端 There are screens on: 2433.pts-3.linux (2013年10月20日 16时48分59秒) (Detached) 2428.pts-3.linux (2013年10月20日 16时48分05秒) (Detached) 2284.pts-3.linux (2013年10月20日 16时14分55秒) (Detached) 2276.pts-3.linux (2013年10月20日 16时13分18秒) (Detached) 4 Sockets in /var/run/screen/S-root. # screen -r 2276 //连接 screen_id 为 2276 的 screen终端
以下为扩展:
1、kill掉一个screen
(1)、使用screen名字,kill掉。
screen -S session_name -X quit
(2)、激活screen:
screen -r session_name
并利用exit退出并kiil掉session。
2、关闭screen的会话 执行:exit ,会提示:[screen is terminating],表示已经成功退出screen会话。
3、远程演示
首先演示者先在服务器上执行 screen -S test 创建一个screen会话,观众可以链接到远程服务器上执行screen -x test 观众屏幕上就会出现和演示者同步。
4、清除dead会话,若因为某一个原因其中一个会话死掉,这时screen -list会显示该会话成为dead状态。
使用screen -wipe命令清除该会话。
5、用 screen -ls, 显式当前状态为Attached, 但当前没有用户登陆些会话。screen此时正常状态应该为(Detached),此时用screen -r <session-id>,怎么也登不上。
最后找到解决方法:screen -D -r <session-id> ,其中-D -r 先踢掉前一用户,再登陆。
参考原文链接:
https://www.runoob.com/linux/linux-comm-screen.html
https://blog.csdn.net/niutingbaby/article/details/84643916
共有 0 条评论