Linux - Screen的基本使用

安装screen

先检查是否已经安装

screen --version
或
screen -v

如果未安装,CentOS输入以下命令安装

yum install screen

Ubuntu和Debian输入以下命令安装

apt install screen

screen的功能

screen的功能大体有三个:

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

screen的状态

通常情况下,screen创建的虚拟终端,有两个工作模式:

  • Attached:表示当前screen正在作为主终端使用,为活跃状态。
  • Detached:表示当前screen正在后台使用,为非激发状态。

screen查询帮助文档

screen -help

可以看到有如下选项
在这里插入图片描述

新建screen终端

当您开始一个新的screen会话时,它将创建一个带有shell的单个窗口。
在screen会话中你可以有多个窗口。

screen
或
screen -S Hello
或
screen -R Hello

三种创建方式的区别:

  • 使用 -R 创建:如果之前有创建唯一一个同名的screen,则直接进入之前创建的screen。(*推荐使用
  • 使用 -S 创建:不会检录之前创建的screen(也就是会创建同名的screen)。
  • 直接screen创建:以Linux的hostname命名,这样的名称太乱。

查看已经存在的screen终端

screen -ls

从虚拟终端回到主终端

在虚拟终端中按Ctrl + a,再按d,即可保持这个screen到后台并回到主终端。

进入虚拟终端

快速返回上次所在的虚拟终端

screen -rxx

返回指定终端,使用 -R 或 -r:

screen -r [pid/name]

其中,pid/name:为虚拟终端PID或Name,通过screen -ls查看,可以看到32307是PID,tool是Name,Detached为状态。
在这里插入图片描述
在主终端中输入如下命令进入指定虚拟终端:

screen -r 32307
# 或(在没有重名虚拟终端情况下)
screen -r tool

清除终端

有时候,我们的进程已经“守护”完毕,不需要这个虚拟终端了,也就是需要释放资源,如何操作呢?
比较推荐的方法是:进入对应虚拟终端,然后输入:exit,就会回到主终端,查看终端发现该终端被清除。

你如果对screen运行程序,确定已经停止运行了,也可以在主终端内,使用命令释放:

# 使用-R/-r/-S均可
screen -R [pid/Name] -X quit

绑定键

在虚拟终端内,输入 Ctrl+a 将等待接受预先设置的绑定键,这时候可以输入对应的一些命令,来操作虚拟终端,如:

  • d:保存会话,后台运行改虚拟终端
  • k:关闭对话,等同输入:exit
  • c:创建一个新窗口,从0 … 9范围开始的第一个可用数字分配给它
  • ":列出所有窗口
  • 0:切换到窗口0(输入其他数字切换到对应窗口)
  • ?:显示所有绑定键盘

参考:
Linux终端命令神器–Screen命令详解。

猜你喜欢

转载自blog.csdn.net/DreamingBetter/article/details/124037647