虚拟终端screen用法详解

描述

有时候我们需要执行一个命令或脚本,需要几小时甚至几天,在这个过程中,如果中途断网或者出现有其他意外情况怎么办,当然也可以把命令或者脚本放到后台运行,不过不保险,无法在屏幕上随时查看,这就要用到虚拟终端screen。  

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

1.单个screen建立和退出

如果你系统里没有screen命令,需要先安装screen包

 

# yum install -y screen

 

然后直接执行screen命令,则会进入到一个screen里。

 

screen

 

screen -ls可以查看已打开的screen会话

 

# screen -ls
There is a screen on:
6183.pts-0.aminglinux01 (Attached)
1 Socket in /var/run/screen/S-root.

 

ctrl+a,再按d,退出当前screen。退出后,如果想再次登入某个screen会话,可以使用的是screen -r [编号]

 

# screen -r 6202

 

输入exit,可以直接退出screen会话,再次查看screen列表时,提示没有screen发现。

 

# screen -ls
No Sockets found in /var/run/screen/S-root.

 

2. 多个screen会话

首选依次创建4个screen,若想进入到其中一个,指定id即可

 

# screen
[detached from 6275.pts-0.aminglinux01]
# screen
[detached from 6290.pts-0.aminglinux01]
# screen
[detached from 6305.pts-0.aminglinux01]
# screen
[detached from 6320.pts-0.aminglinux01]

 

此时查看screen列表,会有多个screen

 

# screen -ls
There are screens on:
6320.pts-0.aminglinux01 (Detached)
6305.pts-0.aminglinux01 (Detached)
6290.pts-0.aminglinux01 (Detached)
6275.pts-0.aminglinux01 (Detached)
4 Sockets in /var/run/screen/S-root.

 

3. 使用-S选项来定义screen名字

 

# screen -S "test_screen" 

 

此时进入screen,执行sleep命令

 

# sleep 300

 

Ctrl + a ,再按d ,回到当前页面。我们再列出所有的screen

 

# screen -ls
There are screens on:
6361.test_screen (Detached)
6320.pts-0.aminglinux01 (Detached)
6305.pts-0.aminglinux01 (Detached)
6290.pts-0.aminglinux01 (Detached)
6275.pts-0.aminglinux01 (Detached)
5 Sockets in /var/run/screen/S-root.

 

其中6361就是刚刚定义的test_screen。

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分