当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > linux下screen命令的使用

Unix/Linux
Linux教程:后台执行程序如何操作?
Linux教程:记录会话过程的命令
Linux和Windows区别分析之线程问题
Linux教程:22端口如何修改?
Linux教程:配置DHCP服务器方法介绍
css3教程:把系统日志记录到远程服务器
教你在Linux系统下破解SAM密码
Linux操作系统启动界面揭秘DHCP协议实现过程
如何检测U盘是否插入或拔出
Linux消除用户使用习惯的阻隔
编写应用程序要注重其安全性
Telnet在Linux系统下如何设置
Linux系统下误删除文件怎么办
删除Linux系统下的历史记录
修改Linux系统下22端口的两种方法
资深Linux程序员的开发经验谈
Ext2和Ext3文件系统
Linux策略性路由应用
如何在Linux中设置透明代理
Linux下的软件开发

Unix/Linux 中的 linux下screen命令的使用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 30 ::
收藏到网摘: n/a

    系统管理员经常需要远程登录服务器
    然后在服务器上跑一些程序
    有个时候
    得跑很长时间(超过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后,然