共计 981 个字符,预计需要花费 3 分钟才能阅读完成。
前言
screen
为 Linux 上的多重视窗管理程序,对于一些我们需要持续执行的脚本或程序可以就使用 screen
,比如一些安装一些大软件,上传大文件等等,如果关闭了就会导致进程终止,这就成了类似单进程的效果。而screen
命令就是为了能够在服务器上开启多个控制面板(screen
),就可以考虑使用screen
。
官方站点:Screen – GUN software
安装
Centos
yum install screen -y
Debian/Ubuntu
apt-get install screen -y
参数
screen [-AmRvx -ls -wipe][-d < 作业名称 >][-h < 行数 >][-r < 作业名称 >][-s][-S < 作业名称 >]
- -A 将所有的视窗都调整为目前终端机的大小。
- -d< 作业名称 > 将指定的 screen 作业离线。
- -h< 行数 > 指定视窗的缓冲区行数。
- -m 即使目前已在作业中的 screen 作业,仍强制建立新的 screen 作业。
- -r< 作业名称 > 恢复离线的 screen 作业。
- -R 先试图恢复离线的作业。若找不到离线的作业,即建立新的 screen 作业。
- -s<shell> 指定建立新视窗时,所要执行的 shell。
- -S< 作业名称 > 指定 screen 作业的名称。
- -v 显示版本信息。
- -x 恢复之前离线的 screen 作业。
- -ls 或 --list 显示目前所有的 screen 作业。
- -wipe 检查目前所有的 screen 作业,并删除已经无法使用的 screen 作业。
常用命令
创建新的会话并离线进行
screen -dmS {screen_name} args
进入会话
screen -R {screen_name}
# 例:screen -R app
踢掉前一用户并回到这个会话
screen -D -r {screen_name}
# 例:screen -D -r app
# 会话窗口显示为 Attached 状态,恢复会话进时进不去,这是因为已经有一个用户登录了这个会话,所以需要先踢掉前一用户并回到这个会话。
所有会话
screen -list
分离(暂停)会话
ctrl + a & d
# 键入 ctrl,再键入 A,松开 A 再键入 D
强制关闭会话
screen -S {screen_name} -X quit
强制关闭全部会话
screen -ls|awk 'NR>=2&&NR<=99{print $1}'|awk '{print"screen -S "$1" -X quit"}'|sh
正文完