用screen 在后台运行程序
young / / / 阅读量

前言

运维工作中经常,需要SSH远程登录到Linux 服务器,运行一些需要很长时间才能完成的任务,由于很多服务进行了基线调整,经常会出现任务没有执行完成会话就中断,任务就会被杀掉,一切半途而废了,这时,我们可以用screen命令解决这个问题

<!–more–>

介绍

screen是一个可以在多个进程之间多路利用一个物理终端的窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。

安装

本文以centos7为例

yum install screen

参数说明

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

使用方法

常用

#新建为name的窗口,并入到该窗口中
screen -S name 
#离开会话保留screen会话中的任务或程序
Ctrl+a d(即按住Ctrl,依次再按a,d)
#查看有哪些窗口正在运行
screen -ls
#进入某个窗口
screen -r 窗口ID
#杀死某个窗口(窗口外部)
kill -9 窗口ID
#杀死当前窗口(窗口内部)
Ctrl a +k 
#自动清除死去的窗口
screen -wipe 
支付宝捐赠
请使用支付宝扫一扫进行捐赠
微信捐赠
请使用微信扫一扫进行赞赏
有 0 篇文章