快速业务通道

screen命令的使用

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-29

简单来说,Screen 是一款免费的终端复用程序,它允许一个用户通过单独的窗口或单独的远程终端会话来访问多个分割的终端会话.

在Linux/Unix中,有这样几个概念:

* 进程组(process group):一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID.
* 会话期(session):一个或多个进程组的集合,有唯一一个会话期首进程(session leader).会话期ID为首进程的ID.
* 会话期可以有一个单独的控制终端(controlling terminal).与控制终端连接的会话期首进程叫做控制进程(controlling process).当前与终端交互的进程称为前台进程组.其余进程组称为后台进程组.

根据POSIX.1定义:

* 挂断信号(SIGHUP)默认的动作是终止程序.
* 当终端接口检测到网络连接断开,将挂断信号发送给控制进程(会话期首进程).
* 如果会话期首进程终止,则该信号发送到该会话期前台进程组.
* 一个进程退出导致一个孤儿进程组中产生时,如果任意一个孤儿进程组进程处于STOP状态,发送SIGHUP和SIGCONT信号到该进程组中所有进程.

因此当网络断开或终端窗口关闭后,控制进程收到SIGHUP信号退出,会导致该会话期内其他进程退出.

安装screen
yum install screen -y [CentOS/RedHat]
apt-get install screen [Ubuntu/Debian]

注:通常系统已自带了该程序.

在screen中创建一个新的窗口有这样几种方式:

1.直接在命令行键入screen命令

[root@tmding ~]# screen

Screen将创建一个执行shell的全屏窗口.你可以执行任意shell程序,就像在ssh窗口中那样.在该窗口中键入exit退出该窗口,如果这是该screen会话的唯一窗口,该screen会话退出,否则screen自动切换到前一个窗口.

2.Screen命令后跟你要执行的程序.

[root@tmding ~]# screen vi test.c

Screen创建一个执行vi test.c的单窗口会话,退出vi将退出该窗口/会话.

3.以上两种方式都创建新的screen会话.我们还可以在一个已有screen会话中创建新的窗口.在当前screen窗口中键入Ctrl a c,即Ctrl键 a键,之后再按下c键,screen 在该会话内生成一个新的窗口并切换到该窗口.

screen还有更高级的功能.你可以不中断screen窗口中程序的运行而暂时断开(detach)screen会话,并在随后时间重新连接(attach)该会话,重新控制各窗口中运行的程序.例如,我们打开一个screen窗口编辑/tmp/abc文件:

[root@tmding ~]# screen vi /tmp/abc

之后我们想暂时退出做点别的事情,比如出去散散步,那么在screen窗口键入Ctrl a d,Screen会给出detached提示:

[detached]

半个小时之后回来了,找到该screen会话:

[root@elain ~]# screen -ls
There are screens on:
19552.pts-0.elain (Detached)
19476.pts-0.elain (Detached)
2 Sockets in /var/run/screen/S-root.

重新连接会话:

[root@elain ~]# screen -r 19552

这样就可以继续操作啦!

常用命令:

Ctrl a ? 显示所有键绑定信息
Ctrl a w 显示所有窗口列表
Ctrl a Ctrl a 切换到之前显示的窗口
Ctrl a c 创建一个新的运行shell的窗口并切换到该窗口
Ctrl a n 切换到下一个窗口
Ctrl a p 切换到前一个窗口(与Ctrl a n相对)
Ctrl a 0..9 切换到窗口0..9
Ctrl a a 发送 Ctrl a到当前窗口
Ctrl a d 暂时断开screen会话
Ctrl a k 杀掉当前窗口
Ctrl a [ 进入拷贝/回滚模式

更多命令请使用Ctrl a ? 查看,以上只列出常用命令.

无觅

转载请注明: 转载自http://www.elain.org

本文链接地址:screen命令的使用

本文出自 “elain的技术博客” 博客,请务必保留此出处http://elain.blog.51cto.com/3339379/631539

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号