在太阳下
不管你喜不喜欢,高不高兴,爱与不爱;太阳照旧照耀着你!温暖着你!

Linux系统学习笔记-Screen-用于命令行终端切换的自由软件

Linux系统学习笔记-Screen-用于命令行终端切换的自由软件
TIME 2023-03-27 19:43

▊什么是Screen?
Screen一款由GNU计划开发的用于命令行终端切换的自由软件。
用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。

▊功能

GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

●会话恢复
只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。
●多窗口
在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分割和命名,还可以监视后台窗口的活动。
●会话共享
Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护


不过通常来说,我们只会使用到会话恢复功能
比如说我们需要长时间会话运行某个任务,由于存在不可抗拒的缘故,中途网络连接意外中断导致会话中断,从而导致任务中断失败
所以我们需要这个任务在后台运行,使其不会随着会话的中断而中断,当我们再次连接上,并且能够使其恢复会话

▊安装命令(Debian 11)

apt install screen

▊创建一个新的会话
创建一个名为 11 的会话

screen -S 11

这样就创建了一个名为 11 的会话,当我们关闭或是中断与终端的连接,这个名为 11 的会话继续在系统挂起

▊挂起会话

Ctril+a+d

主动挂起会话,既然有主动挂起,那么必然就有被动挂起,被动挂起就是因为存在不可抗拒的缘故,导致会话连接中断
不管是主攻挂起还是被动挂起,只要是创建了某个会话,那么其自然不会中断连接

▊恢复会话

screen -r

如果系统存在多个会话,则会返回如下结果(范例)

There are several suitable screens on:
1984.33 (03/25/2023 11:13:56 AM) (Detached)
1972.22 (03/25/2023 11:13:38 AM) (Detached)
1941.11 (03/25/2023 11:11:05 AM) (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.

当前系统已经挂起分别名为 11 22 33 三个会话,会话名前面的ID数字 1984 1972 1941 就是 会话ID

会话状态
Detached(分离),即会话正常挂起
Attached(附属),有时候screen异常退出可能会提示状态为Attached,可以执行:screen -D -r 会话名或会话ID 进行恢复。

使用会话名来恢复会话
比如说我们要恢复名为 11 的会话,命令即

screen -r 11

或者使用会话ID来恢复会话

screen -r 1941

想要恢复名为 22 的会话,即同理

查看挂起的会话

screen -ls


▊结束会话

结束名为 11 的会话

screen -S 11 -X quit

参数说明
-A  将所有的视窗都调整为目前终端机的大小。
-d<作业名称>  将指定的screen作业离线。
-h<行数>  指定视窗的缓冲区行数。
-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r<作业名称>  恢复离线的screen作业。
-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s  指定建立新视窗时,所要执行的shell。
-S<作业名称>  指定screen作业的名称。
-v  显示版本信息。
-x  恢复之前离线的screen作业。
-X 将指定的命令发送到正在运行的屏幕会话。请注意,如果会话受密码保护,此命令不起作用
-ls或–list  显示目前所有的screen作业。
-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

点击数:58

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
Verified by MonsterInsights