最开始接触screen ,是通过devstack 部署openstack ,Devstack环境中,openstack运行在一个screen中,每个service运行在一个window中。
screen 是什么
系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。
GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
查看当前用户开启的所有screen:screen -list
stack@map-VirtualBox:~/devstack$ screen -list
There is a screen on:
28679.stack (2015年12月24日 15时04分35秒) (Attached)
1 Socket in /var/run/screen/S-stack.
查看进程28679,可以看到下面有很多个子进程,这些子进程都是用来启动各个组件服务的window
stack@map-VirtualBox:~/devstack$ ps -ef|grep 28679
stack 28679 28567 0 15:04 ? 00:00:00 SCREEN -c ./stack-screenrc
stack 28680 28679 0 15:04 pts/25 00:00:00 bash
stack 28681 28679 0 15:04 pts/26 00:00:00 bash
stack 28700 28679 0 15:04 pts/27 00:00:00 bash
stack 28701 28679 0 15:04 pts/28 00:00:00 bash
stack 28702 28679 0 15:04 pts/29 00:00:00 bash
stack 28703 28679 0 15:04 pts/30 00:00:00 bash
stack 28704 28679 0 15:04 pts/31 00:00:00 bash
stack 28705 28679 0 15:04 pts/32 00:00:00 bash
stack 28706 28679 0 15:04 pts/33 00:00:00 bash
stack 28707 28679 0 15:04 pts/34 00:00:00 bash
stack 28708 28679 0 15:04 pts/35 00:00:00 bash
stack 28709 28679 0 15:04 pts/36 00:00:00 bash
stack 28710 28679 0 15:04 pts/37 00:00:00 bash
stack 28727 28679 0 15:04 pts/38 00:00:00 bash
stack 28728 28679 0 15:04 pts/39 00:00:00 bash
stack 28729 28679 0 15:04 pts/40 00:00:00 bash
stack 28731 28679 0 15:04 pts/41 00:00:00 bash</span></span>
devstack 启动openstack 服务
在devstack目录下,运行 ./rejoin-stack.sh,进入控制台。
下面的“n-net*”表示的是nova-network服务,前面的9表示这个服务的编号,上面的信息是这个服务的日志信息,可以在这里查看输出情况。有错误时也可以在这里查看。
切换不同服务的方法
按 ctrl+a+' (即:ctrl+a+单引号),这是屏幕左下角会显示“Switch to window:”表示要前往的服务控制台,你可以输入13,表示看n-cpu (nova-compute)服务的情况。
停止服务的方法
在在相应控制台下使用:ctrl+c,再启动这个服务是按下“↑”(即向上键),然后在按enter键。
退出控制的方法
使用ctrl+d.
移动到下一个window
ctrl+a+n
移动到前一个window
ctrl+a+p
显示screen中所有window的列表
按 CRTL + a, 稍等一秒,再按 " (shift + ' 所在键) (四个键连续按是不行的 :))
CentOS下禁止screen建立新窗口时更改窗口尺寸:http://www.linuxdiyf.com/linux/16784.html
Linux技巧:使用Screen管理你的远程会话:http://www.linuxdiyf.com/linux/12018.html
screen管理Linux远程会话:http://www.linuxdiyf.com/linux/8359.html
Screen Linux会话管理:http://www.linuxdiyf.com/linux/8934.html
Linux在线安装软件screen使用方法:http://www.linuxdiyf.com/linux/6152.html