Linux不间断会话服务Screen的简单用法

系统管理员经常需要SSH 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp,rsysnc,sftp,scp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。

Screen是一款能够实现多窗口远程控制的开源服务程序,简单来说就是为了解决网络异常中断或为了同时控制多个远程终端窗口而设计的程序。用户还可以使用screen服务程序同时在多个远程会话中自由切换,能够做到实现如下功能。

1)会话恢复:即便网络中断,也可让会话随时恢复,确保用户不会失去对远程会话的控制。

2)多窗口:每个会话都是独立运行的,拥有各自独立的输入输出终端窗口,终端窗口内显示过的信息也将被分开隔离保存,以便下次使用时依然能看到之前的操作记录。

3)会话共享:当多个用户同时登录到远程服务器时,便可以使用会话共享功能让用户之间的输入输出信息共享。

上面screen的相关概念摘至如下链接

https://www.cnblogs.com/lpfuture/p/5786843.html

https://www.linuxprobe.com/chapter-09.html#932 《Linux就该这么学》

1、首先yum先安装screen

常用的命令参数

可以用-S参数创建会话窗口;

用-d参数将指定会话进行离线处理;

用-r参数恢复指定会话;

用-ls参数显示当前已有的会话;

以及用-wipe参数把目前无法使用的会话删除

2、新建screen会话

screen -S backup 新建一个名字叫backup的screen会话

推荐为每个screen会话取一个名字,方便分辨

当在命令行中敲下这条命令的一瞬间,屏幕会快速闪动一下,这时就已经进入screen服务会话中

输入screen -ls可以查看到当前的会话正在工作中

要想退出一个会话也十分简单,只需在命令行中执行exit命令即可

3、会话的分离与恢复

你可以不中断screen窗口中程序的运行而暂时断开(detach)screen会话,并在随后时间重新连接(attach)该会话

有几种方式

1)命令行输入screen -d 暂时断开(detach)screen会话

2)screen会话中先按下Ctrl+a,然后再按d字母键,分离该会话

恢复会话

screen -ls查看所有会话列表

screen -r 会话名或者screen -r 会话ID

可以看到恢复到了原来的会话,从而实现会话中的任务不中断

4、会话共享

当多个用户同时控制主机的时候,它可以把屏幕内容共享出来,也就是说每个用户都可以看到相同的内容

比如在另外一个终端窗口输入screen -x backup会话名

两个会话中看到的是同样的输入与输出内容

当然screen还有很多高级的用法,最常用的还是会话的分离与恢复(不间断会话)和会话共享功能

原文发布于微信公众号 - WalkingCloud(WalkingCloud2018)

原文发表时间:2019-05-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券