screen是linux里可以进行后台保持Terminal交互的工具,日常工作需要多个会话窗口或者恢复窗口时screen很有帮助
screen的功能大体有三个:
- 会话恢复:**只要Screen本身没有终止,在其内部运行的会话都可以恢复。**这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。
- 多窗口:在Screen环境下,**所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。**用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。
- 会话共享:Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。
来自参考资料2
screen 安装
screen 安装
# CentOS
yum install screen
# Debian/Ubuntu
apt install screen # 可能需要先执行apt update 进行包更新
screen 常用命令
- 常用 screen 参数:
-
screen -S yourname
: 新建一个叫 yourname 的 session -
screen -ls
: 列出当前所有的 session -
screen -r yourname
: 回到 yourname 这个 session -
screen -d yourname
: 远程 detach 某个 session -
screen -d -r yourname
: 结束当前 session 并回到 yourname 这个 session -
screen -D -r yourname
: 结束当前的 session,并 logout,再链接 yourname 这个 session
-
用
screen -d
命令 detached 会话后, 杀死会话的步骤:screen -list
出当前detached的会话screen [-S/-R/-R] [pid/name] -X quit
-
重命名会话:
screen -S [pid/name] -X sessionname new_name
-
使用
-R
创建会话(screen -R youname
),如果之前有创建唯一同名的会话,则直接进入之前的screen。 -
ctrl + a + d
来detach 一个session让其在后台运行。
参考资料
-
screen 官网
-
Linux终端命令神器–Screen命令详解。助力Linux使用和管理