最开始接触screen ,是通过devstack 部署openstack ,Devstack环境中,openstack运行在一个screen中,每个service运行在一个window中
系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。
GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
<span style="font-family:SimSun;font-size:18px;"><span style="font-family:Microsoft YaHei;">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.</span></span>查看进程28679,可以看到下面有很多个子进程,这些子进程都是用来启动各个组件服务的window
<span style="font-family:SimSun;font-size:18px;"><span style="font-family:Microsoft YaHei;">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目录下,运行 ./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.