Linux不间断会话服务Screen

1、不间断会话服务
1.1、了解 Screen 服务 学完了 ssh服务后有没有发现一个很重要的事情——当连接的终端被关闭时,运行在服务器上的命令也会中断。如 果有长时间文件备份或FTP传输等任务时,通常我们都会新开一个连接窗口再继续工作,并且中途不能关闭窗口或 断开链接(也包括网络不稳定的情况),否则这个任务就会被中断,还要重新开始。
Screen便是为了解决上述问题而设计的,用户可以通过使用Screen命令同时控制多个命令行会话并自由切换,特点有:
会话恢复:即便网络中断,也可让会话随时恢复,用户不会失去对命令行的控制。
多窗口:每个会话都是独立运行的,拥有独立的编号、输入输出和窗口缓存。
会话共享:可以使多个用户从不同终端使用同一个会话,也可让他们看到完全相同的输出。

1.2、掌握命令参数
红帽RHEL7系统中默认没有包含screen, 使用yum命令安装screen程序包:
[root@linuxprobe 〜]# yum install screen
Loaded plugins: langpacks, product-id, subscription-manager 省略部分安装信息
Installing:
screen x86_64 4.1.0-0.19.20120314git3c2946.el7 rhel7 551 k 省略部分安装信息
Complete!

screen命令的常用命令参数包括:
参数
-d <会话名称> 将指定的screen会话离线。
-r <会话名称> 将指定的screen会话恢复。
-h <行数> 指定视窗的缓冲区行数。
-S <会话名称> 指定screen会话的名称
-x 恢复所有离线的会话。
-Is 或-list 显示当前的screen会话。
-wipe 自动将无法使用的screen会话删除。

1.3、创建与使用会话功能
完成安装后直接运行screen即可使用服务,推荐为每个会话都取一个名字,方便分辨。 创建名称为backup的会话:
[root@linuxprobe 〜]# screen -S backup

查看当前已经存在的会话:
[root@linuxprobe 〜]# screen -Is
There is a screen on:
32230.backup (Attached)
1 Socket in /var/run/screen/S-root.
当执行screen命令后会调用系统默认的shell(M常即bash),所以敲完screen命令后会立即返回一个命令提示符, 虽然看起来与刚刚没有变化,但此时你已经进入screen会话啦!

创建一个会话,初始为用vim编辑器写文件:
[root@linuxprobe 〜]# screen vim memo.txt
退出vim后会话也会被自动被删除:

[root@linuxprobe 〜]# screen -Is
There is a screen on:
32230.backup (Attached)
1Socket in /var/run/screen/S-root.

新建一个叫做linuxprobe的会话:
[root@linuxprobe 〜]# screen -S linuxprobe

列出当前所有会话(有两个哦):
[root@linuxprobe 〜]# screen -Is
There are screens on:
32403.1inuxprobe (Attached)
32230.backup (Attached)
2Sockets in /var/run/screen/S-root.

回到backup会话中:
[root@linuxprobe 〜]# screen -r backup

将linuxprobe会话离线:
[root@linuxprobe 〜]# screen -d linuxprobe
[remote detached from 32403.1inuxprobe]

再次查看会话状态(linuxprobe已经被离线了):
[root@linuxprobe 〜]# screen -Is
There are screens on:
32403.1inuxprobe (Detached) 3223O.backup (Attached)
2 Sockets in /var/run/screen/S-root.

将当前会话离线并回到linuxprobe会话中:
[root@linuxprobe 〜]# screen -d -r linuxprobe
[32403.1inuxprobe detached.]

回到linuxprobe会话后,状态又改变了 :
[root@linuxprobe 〜]# screen -Is
There are screens on:
32403.1inuxprobe (Attached) 3223O.backup (Attached)
2 Sockets in /var/run/screen/S-root.
[/pre]
总结来说:将screen会话甚至为暂时断开(detach),那么会话窗口中的程序依然会执行。随后将会话重新连接(attach), 那么即可重新控制会话窗口中运行的程序啦。

1.4、会话共享功能
会话共享功能是一件很酷的事,它让多个用户同时使用某一个会话,甚至让您和对方看到相同的终端内容,拓扑如下:
在这里插入图片描述
将两台Linux主机均连入同一个服务器:
在主机A的终端上执行创建会话的操作:
[root@linuxprobe 〜]# screen -S linuxprobe

在主机B的终端上同步会话信息:
[root@linuxprobe 〜]# screen -x
那么此时终端A与终端B上做的任何操作,都可以实时同步到对方的屏幕上,真的很酷哦!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tian.1211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值