红联Linux门户
Linux帮助

Linux screen使用

发布时间:2015-12-25 09:56:55来源:linux网站作者:chinagissoft

最开始接触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,进入控制台。

Linux screen使用

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

Linux screen使用


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