Linux - screen命令 - 防止断网导致异常退出

在远程管理服务的时候,偶尔会出现断网导致,脚本或者命令没执行完就异常退出了。为了异常断开导致脚本出现异常,一般都会使用到screen这个工具。

 

特点

1、会话恢复。只要screen本身没有终止,会话就一直存在。如果出现断网的情况,可以使用screen -ls查看之前已经开启的会话,使用screen -r进行恢复即可继续使用,之前终端。

2、多窗口。在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。

3、窗口共享。在同一台机器上,可以实现两个终端限制同样的界面,screen -x实现共享。

 

 

安装使用

CentOS:

yum -y install screen

screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]
-A  将所有的视窗都调整为目前终端机的大小。
-d <作业名称>  将指定的screen作业离线。
-h <行数>  指定视窗的缓冲区行数。
-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称>  恢复离线的screen作业。
-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s  指定建立新视窗时,所要执行的shell。
-S <作业名称>  指定screen作业的名称。
-v  显示版本信息。
-x  恢复之前离线的screen作业。
-ls或--list  显示目前所有的screen作业。
-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

 

典型例子:

ssh 用户名@10.xx.xx.xx 
screen -help        查看帮助
screen -list        查看有几个会话,同时会罗列出各个进程ID
screen -r 进程ID     恢复到这个指定进程
screen -d 进程id    结束进程

 

官方示例:

screen -S yourname # 新建一个叫yourname的session
screen -ls #列出当前所有的session
screen -r yourname #回到yourname这个session
screen -d yourname #远程detach某个session
screen -d -r yourname #结束当前session并回到yourname这个session
screen -wipe #清理已经Dead的会话

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章