多窗口会话管理命令: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

版权声明:
作者:WaterBear
链接:https://l-t.top/1121.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>