首 页 网管技术 病毒木马 网络安全 网站技术
服务器技术 数据库技术 操作系统 存储/编程 技术文档
  你的位置:首 页 > 操作系统 > 正文

linux下screen命令的使用
发布时间:2007-5-24
    系统管理员经常需要远程登录服务器 
    然后在服务器上跑一些程序 
    有个时候 
    得跑很长时间(超过12小时) 
    这是如果程序没结束就退出远程管理终端    
    远程跑的程序很有可能就此当掉
    以前常用的解决方式是用命令nohup 
    但是nohup也有很多的问题 
    当有了screen 
    这一切便都迎刃而解了 
    敲入命令screen 
    会创建一个跑着shell的单一窗口 
    在这里面 
    你可以跑你所需要的程序 
    然后Ctrl+a d退出刚创建的窗口(回到进入screen前的环境) 
    然后再敲入命令screen创建新的终端窗口 
    就这样 
    你可以建立多个有shell的窗口(这些窗口里都可以跑你自己的应用) 
    这样就是你退出远程管理窗口(进入screen的环境) 
    你的screen窗间的窗口都不会关闭 
    里面跑得应用自然也不会当掉 
    用screen -ls可以看所有的screen sessions 
    用screen -r sessionid可以进sessionid指定的特定的screen session 
    最后
    screen session不再使用的时候 
    screen -r sessionid进去 
    exit退出即可  
    Unix/Linux 工具: Screen 命令使用 
    screen使用 
    使用screen非常简易.只需在SHELL键入screen,便可打开一个screen session。 
    而在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。现在让我来简单介绍基本的命令C-a c -> Create,开启新的 window 
C-a n -> Next,切换到下个 window 
C-a p -> Previous,前一个 window 
more..  
less.. C-a C-a -> Other,在两个 window 间切换 
C-a w -> Windows,列出已开启的 windows 有那些 
C-a 0 -> 切换到第 0 个 window 
C-a 1..9 -> 切换到第 1..9 个windowC-a a -> 发出 C-a,在 emacs, ve, bash, tcsh 下可移到行首C-a t -> Time,显示当前时间,和系统的 load 
C-a K(大写) -> kill window,强行关闭当前的 windowC-a [ -> 进入 copy mode,在 copy mode 下可以回滚、搜索、 
复制就像用使用 vi 一样C-b Backward,PageUp 
C-f Forward,PageDown 
H(大写) High,将光标移至左上角 
L Low,将光标移至左下角 
0 移到行首 
$ 行末 
w forward one word,以字为单位往前移 
b backward one word,以字为单位往后移 
Space 第一次按为标记区起点,第二次按为终点 
Esc 结束 copy mode 
C-a ] -> Paste,把刚刚在 copy mode 选定的内容贴上C-a ? -> Help,显示简单说明C-a d -> detach,将目前的 screen session (可能含有多个 windows) 
丢 到后台执行 当按了 C-a d 把 screen session detach 掉后,会回到还没进 screen 时的状态,此时在 screen session 里每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。 下次 login 进来时:screen -ls -> 显示所有的 screen sessions 
screen -r [keyword] -> 选择一个screen session 恢复对话若 screen -ls 里有 Attached sessions: 
screen -d [keyword] -> 强制 detach,以便「接手」过来 实例 
说明看了那么多,让我们用一个实际例子来结束我们今天的学习。在我们开启一个screen后,然后使用joe编辑一个文件,之后因为临时需要离开这时就可以运行Ctrl+a d,显示如下:[becks@ec-base becks]$ screen 
[detached]这个时候当我们运行ps -e 可以看到pts/2这个我刚刚运行的screen正在运行joe 
6264 pts/2 00:00:00 bash 
6354 pts/2 00:00:00 joe而当我们回来后想恢复这个session,只需要键入screen -r,而当你有多个session时候,系统将提示你选择一个,如下: 
[becks@ec-base becks]$ screen -r 
There are several suitable screens on: 
6263.pts-1.ec-base (Detached) 
6382.pts-1.ec-base (Detached) 
Type "screen [-d] -r [pid.]tty.host" to resume one of them.输入该session的pid进行恢复 
[becks@becks becks]$ screen -r 6263想退出screen的session,和退出shell一样,只需要键入exit命令,成功退出后将有以下提示 
[screen is terminating] 
[关闭窗口] [打印本页]
 相关文章
·利用sudo命令为Ubuntu分配管理权限 2007-5-24
·Windows XP十大必禁服务 2007-4-20
·恶意网页修改注册表的十二种现象及修复 2007-4-20
·杀完病毒后不能上网解决方法 2007-4-20
·藏在XP中的一个秘密武器,可以完整清除垃圾文件 2007-4-20
·电脑出现错误信息的故障排除(一) 2007-4-20
 本栏推荐
·利用sudo命令为Ubuntu分配管理权限
·linux下screen命令的使用
·实现Windows与Linux两系统间的自由切换
·Windows Vista下设定“蓝屏”时自动重启
·诺顿误杀系统文件的三种解决办法
·绝对好用的Linux系统8个经典技巧
·Linux系统下如何加载U盘或移动硬盘
·安装过Windows的电脑上如何安装Linux
·写给Linux新手 在虚拟PC上安装Linux
·最简单的Windows登录密码解救
网站地图 - 关于我们 - 广告服务 - 联系我们 - 法律声明 - 服务条款 - 隐私声明 - 帮助中心
Copyright © 2004~2007 QINGDAOLIFE.COM All Rights Reserved
本站信息仅供参考,不能作为诊断及治疗的依据
版权所有 青岛生活网