Linux screen命令用于多重视窗管理程序。
运行screen之后,可以产生一个独立运行的窗口,不受机器断电等的影响,断开连接之后再重新连接,不影响数据传输。
常用用法如下:
①开启一个名为test的终端:
screen -S test
②查看所有的screen作业:
screen -ls
可以看到,刚刚创建的终端已经存在了,并且是Attached已连接状态
[root@test~]# screen -ls
There is a screen on:
16136.test (Attached)
1 Socket in /var/run/screen/S-root.
③进入一个终端,使用-r和终端名
screen -r test
如果此时是Attached状态,则这个终端无法进入:
[root@test ~]# screen -r test
There is a screen on:
16136.test (Attached)
There is no screen to be resumed matching test.
需要先断开连接,为detached状态再进入终端即可:
[root@test ~]# screen -d test
[16136.test detached.]
④使用kill和-wipe清理不需要的screen终端
[root@test ~]# screen -ls
There are screens on:
16136.test (Attached)
12050.screen_test (Detached)
2 Sockets in /var/run/screen/S-root.
[root@test ~]# kill -9 12050
[root@test ~]# screen -wipe
There are screens on:
16136.test (Attached)
12050.screen_test (Removed)
1 socket wiped out.
1 Socket in /var/run/screen/S-root.
[root@test ~]# screen -ls
There is a screen on:
16136.test (Attached)
1 Socket in /var/run/screen/S-root.
可以看到,screen_test终端已经被清理。
screen的所有详细用法可参考这个说明:
-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作业