使用screen后台实时执行命令
作者:互联网
在做一个大体积的数据备份时,在远程终端上直接运行备份脚本back.sh,或运行back.sh&放到后台运行,此时关闭远程终端,或网络断开都会让命令停止运行。此时就要使用到screen命令。
screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口一样。
(1).安装screen软件包
可以直接使用yum安装
[root@xuexi ~]# yum -y install screen
也可以挂载CentOS7的光盘镜像安装
[root@xuexi ~]# rpm -ivh /mnt/Packages/screen-4.1.0-0.25.20120314git3c2946.el7.x86_64.rpm 准备中... ################################# [100%] 正在升级/安装... 1:screen-4.1.0-0.25.20120314git3c29################################# [100%]
(2).screen使用方法
直接在命令行键入screen命令
[xf@xuexi ~]$ screen
screen会创建一个全新的shell窗口,你可以执行任意程序,就像在ssh窗口一样。
比如说我们使用vim创建一个txt文件,并输入一部分数据。
[xf@xuexi ~]$ vim a.txt //并随意输入一些数据 a bb ccc dddd eeeee ffffff
输入完成后退出插入模式回到正常模式,按下<Ctrl>+a+d。此时会显示如下部分
[root@xuexi ~]# screen [detached from 10992.pts-0.xuexi] //分离出一个独立的会话
一段时间后,或者关闭了当时的终端,如果还想要回到之前的screen会话
[root@xuexi ~]# screen -ls //查看已经建立会话的ID There is a screen on: 10992.pts-0.xuexi (Detached) 1 Socket in /var/run/screen/S-root. [root@xuexi ~]# screen -r 10992 //重新建立会话
分离出独立会话后,即使关闭当前终端,也可再次使用。如果想关闭screen会话,使用exit命令。
(3).常用参数
screen -S [会话名称] 指定建立会话的名称
[root@xuexi ~]# screen -S test [detached from 11347.test] [root@xuexi ~]# screen -ls There is a screen on: 11347.test (Detached) 1 Socket in /var/run/screen/S-root.
screen -ls 列出当前所有的会话
screen -r [会话ID|会话名称] 回到指定会话,可以是会话名称,也可以是会话ID
[root@xuexi ~]# screen -r test [detached from 11347.test] [root@xuexi ~]# screen -r 11347 [detached from 11347.test]
标签:执行命令,xuexi,11347,screen,会话,test,后台,root 来源: https://www.cnblogs.com/diantong/p/10405223.html