screen命令
一、简介
Screen是一款终端模拟的屏幕管理器,用于命令行终端自由切换。
当我们需要执行一个用时较多的作业,不希望自己或者他人误操作关闭终端导致作业中断,可以进入screen,这样,当终端关闭,作业仍会继续执行。
GNU’s Screen 官方站点:http://www.gnu.org/software/screen/
二、语法
screen [ -options ] [ cmd [ args ] ]
screen -r [[pid.]tty[.host]]
screen -r sessionowner/[[pid.]tty[.host]]
三、常用参数
screen -S “screenname”–> 给screen作业命名
screen –ls或-list
-> 列出当前所有的session
screen –r “screenname ”–> 回到“screenname ”这个session
screen -d –r “screenname ”–> 分离出其他运行的screen(并在这里重新连接)
ctrl+d 或 exit 退出当前screen(会话)
四、使用screen
远程登陆上CentOS7,初始界面如下:
我们可以先查看一下是否安装了screen,下图表示还未安装
找到光盘默认挂载区域,找到screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64.rpm包,下图红色部分就是screen的rpm安装包
安装screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64.rpm包
此时已经安装成功screen包,查看是否已有screen命令,键入screen,回车,这时没有出现”Command not found“,证明已经安装成功
这时已经进入了screen,我们可以利用screen -ls 或者-list列出当前所有存在的screen,可以看到,默认screen名字是(当前终端名.主机名前缀)的形式
我们也可以自定义screen 的名字
格式为screen –S (注意,S是大写的) screenname,
这时,再利用screen -ls 或者-list列出当前所有存在的screen,可以看到,现在screen名字是Tom,也就是我们刚才自定义的名字。
Tom这个screen下,运行ping命令来模拟一个执行时间很长的操作。
再开一个终端,可以看到Tom这个screen是Attached状态
当关闭正在执行ping命令的终端,此时可以看到Tom这个screen是Detached状态,表明终端已经关闭。
但是ping命令仍然在执行,并没有停止,通过ps –ef|grep ping
查看当前进程中有ping这个进程,说明执行命令的终端关闭,也不会影响命令的继续执行。
执行命令的终端关闭后,我们想要再进入Tom的screen,可执行screen -r “screenname “
回车,可以看到ping 127.0.0.1仍然在执行
按Ctrl+C 强制退出ping 127.0.0.1,按ctrl+d或输入exit退出当前screen。
此时screen已经全部退出
原创文章,作者:liumengjiao,如若转载,请注明出处:http://www.178linux.com/80199