Centos命令系列 之 screen

简介: 摘要 作为运维人员经常会遇到等到远程主机的链接因为网络原因或者别的其他不可抗拒的原因断掉,此时远程为执行完成的命令也会断掉而导致很多任务需要重新执行。 这给大家介绍一个在这种情况下很好用的命令 screen,具体好用在那里,下面具体介绍,包括从其安装到配置到使用What to do在正式介绍之前,先给大家介绍下 screen 都能做什么事情

摘要

作为运维人员经常会遇到等到远程主机的链接因为网络原因或者别的其他不可抗拒的原因断掉,此时远程为执行完成的命令也会断掉而导致很多任务需要重新执行。

这给大家介绍一个在这种情况下很好用的命令 screen,具体好用在那里,下面具体介绍,包括从其安装到配置到使用

What to do

在正式介绍之前,先给大家介绍下 screen 都能做什么事情

  • 通过一个SSH session使用多个shell窗口
  • 即使网络断开链接也能保持shell窗口处理激活状态
  • 可以在任何地方断开或者重连同一个shell session
  • 不用为了跑一个耗时的任务而长时间保持几个shell session处于激活状态

安装

Centos下命令安装一般都采用两种方式,YUM和RPM包的方式。这里分别介绍

YUM安装

yum install -y screen

RPM安装

对于下载 RPM 包,建议去 http://rpm.pbone.net/ 下载

wget ftp://bo.mirror.garr.it/1/slc/centos/7.1.1503/os/x86_64/Packages/screen-4.1.0-0.19.20120314git3c2946.el7.x86_64.rpm
rpm -ivh screen-4.1.0-0.19.20120314git3c2946.el7.x86_64.rpm

验证安装

root@pts/1 $ which screen
/usr/bin/screen

root@pts/1 $ screen -v
Screen version 4.01.00devel (GNU) 2-May-06

使用

screen

在开始使用 screen 之前,执行下面的命令

root@pts/1 $ ps -ef|grep screen
root      6297  2410  0 14:02 pts/1    00:00:00 grep --color=auto screen

然后输入 screen 回车,感觉打开了一个新的shell session

screen -list

这个时候我们在执行上面的ps命令和screen -list查看结果

root@pts/2 $ ps -ef|grep screen
root      6335  2410  0 14:02 pts/1    00:00:00 screen
root      6476  6337  0 14:02 pts/2    00:00:00 grep --color=auto screen

root@pts/2 $ screen -list
There is a screen on:
        6336.pts-1.192  (Attached)
1 Socket in /var/run/screen/S-root.

screen -list是查看开启的screen列表

新增screen ctrl+a+c

为了验证新增screen和后面的功能,在上面的开启的第一个screen session中执行top命令

从当前的screen session开启一个新的screen session可以使用快捷键 ctrl+a+c

看到开启了一个新的 screen session,一个没有执行top的新session

screen切换 ctrl+a+n/p

ctrl+a+n 切换到下一个

ctrl+a+p 切换到上一个

需要说明的是在切换的时候N多session组成一个类似环状,ctrl+a+n切换到最后一个之后在切换久切换到了第一个,

同理ctrl+a+p切换到第一个之后在切换久切换到了最后一个screen session

离开screen ctrl+a+d

注意括号中的状态值,由Attached变成Detached

[detached from 6336.pts-1.192]

root@pts/1 $ screen -list
There is a screen on:
    6336.pts-1.192  (Detached)
1 Socket in /var/run/screen/S-root.

再连接到screen ctrl+r[+name]

当系统只有一个screen处于 Detached状态的话,直接输入ctrl+r回车就可以进入screen

如果有多个

root@pts/1 $ screen -list
There are screens on:
        9944.lc (Detached)
        9766.pts-1.192  (Detached)
        6336.pts-1.192  (Detached)
3 Sockets in /var/run/screen/S-root.

就需要执行ctrl+r+9766.pts-1.192

这里其实输入前面的数字或者后面的字符串都行,比如

ctrl+r+6336
ctrl+r+pts-1.192

pts-1.192 是由系统生成的,对应用户而言没有明确的意义。我们可以通过screen -S lc 命令去自定义这个值,结果如上面的9944.lc

锁住screen ctrl+a+x

Screen used by root <root> on 192.
Password:  

使用的时候输入密码即可

停止screen exit or ctrl+a+k

当你跑完脚本或者执行完任务的时候,一般建议停止screen,也就是真正的退出screen


简书地址:Centos命令系列 之 screen



公众号: DailyJobOps

    公众号: DailyJobOps    

目录
相关文章
|
1月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
65 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
25天前
|
安全 Linux 网络安全
centos7中firewall防火墙的常用命令总结
以上命令集覆盖了 `firewalld`的基本操作,是维护CentOS 7系统安全不可或缺的工具。对于更高级的配置需求或遇到特定问题
19 3
|
5月前
|
Linux
linux centos history 查看命令历史 显示时间戳
linux centos history 查看命令历史 显示时间戳
308 1
|
2月前
|
网络协议 Linux Shell
CentOS7系统命令学习笔记(一)
CentOS7系统命令学习笔记(一)
|
2月前
|
Linux
CentOS7系统命令学习笔记(二)
CentOS7系统命令学习笔记(二)
|
2月前
|
Linux Shell API
CentOS7系统命令学习笔记(三)
CentOS7系统命令学习笔记(三)
|
1月前
|
Linux 编译器 C语言
./build.sh:行1: g++: 未找到命令的错误问题在centos操作系统下面如何解决
通过上述步骤,您应该能够有效地解决CentOS系统中 `g++: 未找到命令`的错误。确保软件开发环境配置得当,对于顺利执行编译脚本和日常开发工作至关重要。如果问题依然存在,考虑检查脚本内的命令路径引用是否正确,或进一步排查系统配置问题。
108 0
|
3月前
|
安全 Linux 网络安全
CentOS常用的命令及其注释
CentOS常用的命令及其注释
|
3月前
|
Web App开发 缓存 Ubuntu
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
202 11
|
5月前
|
Linux C语言 C++
Linux 下centos 查看 -std这个编译时命令 是否支持 C17
Linux 下centos 查看 -std这个编译时命令 是否支持 C17
162 2
下一篇
无影云桌面