screen详解
在服务器上搭建一些服务的时候,一般情况下我们只会开一个连接服务器的控制台,但是某些服务开启的时候需要占据一整个控制台,如果关闭了就会导致进程终止,这就成了类似单进程的效果。
screen命令就是为了能够在服务器上开启多个控制面板(screen),用以容纳不同的任务
1、三个窗口
1)默认窗口
没有用screen命令时的那个干干净净的窗口
2)screen界面
当我们进入screen空间下的,占用了一个进程pid的一个界面,这个界面自己的名字,有他自己内部交互的快捷键,能够拥有很多不同的子终端的界面,也可以理解成独立于默认窗口之外的窗口,电脑能同时拥有很多不同的screen界面
3)子窗口
每一个子窗口都是附属与一个screen界面下的,他们互不影响,能够分别执行不同的命令。工作时,我们需要做的就是选定某一个screen,并且选定一个子窗口,这样如果我们需要换一个界面的话,我们就只需要更换另一个子窗口就行了
2、基本命令
新建一个screen:screen
新建一个自定义名字的screen:screen -S <name>
查看存在的screen界面:screen -ls
切换screen界面:(有点儿没弄清)
- 有两种状态:
- Detached:存活未在使用,可以连接
- 使用
screen -d <screen的pid>
切换(断开会话) - 或者
Ctrl+a+d
- 使用
- Attached:存活正在使用,不能连接
- 使用
screen -r <screen的pid>
切换(链接会话)
- 使用
- Detached:存活未在使用,可以连接
删除一个screen界面:当处于此界面时,exit
即可删除此界面;或者是Ctrl+d
强制删除一个screen界面:screen -X -S <screen的pid> quit
创建子界面:Ctrl+a+c
查看有那些子界面:Ctrl+a+w
切换子界面:Ctrl+a+a
、下一个Ctrl+a+n
、上一个Ctrl+a+p
、指定Ctrl+a+<num>
锁定当前窗口:Ctrl+a+x
,此时无法使用快捷键