一、介绍:
在服务器上搭建一些服务的时候,经常要用到screen命令。因为一般情况下我们只会开一个连接服务器的控制台,但是某些服务(比如求生之路服务端)开启的时候需要占据一整个控制台,如果关闭了ssh连接或进行其他操作就会导致进程终止。而screen命令就是为了能够在服务器上开启多个控制面板(screen),用以容纳不同的任务。
二、基本概念:
正确食用Screen前需要了解窗口和会话的一些基本概念。
- 默认窗口:
- 所谓默认窗口就是我们刚登陆ssh时的界面,这个界面下是不能够使用Screen内部的快捷键的。
- Screen会话
- Screen会话就是当我们进入Screen空间下的,占用了一个进程pid的一个界面。这个界面有他自己的名字,有他自己内部交互的快捷键,能够拥有很多不同的子终端的界面。也可以理解成独立于默认窗口之外的窗口。注意,是每一个screen会话都能拥有很多的子窗口,而我们的电脑能同时拥有很多不同的screen会话。
- 子窗口
一个Screen会话下也可以拥有多个不同的子窗口,我们的工作可以放在不同的子窗口下执行。
三、安装:
screen -v
查看是否安装screen
- Ubuntu:
sudo apt-get intstall screen
- CentOS:
yum install screen
四、使用:
1.会话管理:
sudo screen -ls
查看当前存在的screenscreen -S shuiguo
新建一个叫shuiguo的sessionscreen -r shuiguo
回到shuiguo这个sessionscreen -d shuiguo
远程dettach某个sessionscreen --wipe
清除损坏的screen(如果由于某些情况导致一个screen的状态处于Dead(很可能是程序出错或者强行删除进程锁之类的。。),我们无法attached进去,那么我们只需要输入,就可以删除这些进程了。)screen -d -r shuiguo
结束当前session并回到shuiguo这个session
2.窗口管理:
Ctrl+a+w
展示当前会话中的所有窗口
在打开多个窗口后,我们可以使用该快捷键列出所有的窗口。若使用了文本终端,则会在标题栏中有如下显示0$ bash 1-$ bash 2*$ bash
以上例子中含有*
号代表现在所位于的窗口,-
号代表上次切换的窗口。Ctrl+a+c
创建新窗口Ctrl+a+n
切换至下一个窗口Ctrl+a+p
切换至上一个窗口Ctrl+a+num
切换至编号为num的窗口Ctrl+a+k
杀死当前窗口Ctrl+a+d
暂离当前screen(程序会进入后台运行)Ctrl+a+x
锁定当前窗口Ctrl+d
或exit
关闭当前窗口(若当前关闭的窗口为该Screen下的最后一个窗口时,则会触发关闭当前screen的事件)
评论区