您的位置:首页 > 运维架构 > Linux

Linux screen 使用

2015-12-24 15:39 513 查看
最开始接触screen ,是通过devstack 部署openstack ,Devstack环境中,openstack运行在一个screen中,每个service运行在一个window中

screen 是什么

系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。

GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。

GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

查看当前用户开启的所有screen:screen -list

<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
启动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 + ' 所在键) (四个键连续按是不行的
:))

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: