GNU's Screen
homepage
Screen是由GNU计划开发的用于命令行终端切换的自由软件,可以看作是窗口管理器的命令行界面版本。
可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。

  • 多窗口
    在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。
    用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。
  • 会话共享与限制
    可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。
    同时提供了窗口访问权限的机制,可以对窗口进行密码保护。
  • 会话恢复与分离
    如果Screen本身没有终止,在其内部运行的会话都可以恢复。即使网络连接中断,只要再次登录后执行screen -r就可以恢复先前已经打开的会话。
    同样也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。

安装
CentOS系统中执行:yum install screen
Debian/Ubuntu系统执行:apt-get install screen

常用命令
列出所有会话:screen -ls
创建一个随机命名的会话:screen
创建一个名称为test的会话:screen -S test
分离test会话,但会话中的任务会继续执行:screen -d test
通过screen name恢复test会话:screen -r test
通过session ID恢复test会话:screen -r <session ID>
创建一个处于分离模式(Detached),名称为test的会话:screen -dmS test

使用总结
(Detached)---->挂起状态,无终端在连接会话
(Attached)---->有终端在连接会话。
在会话中输入exit:永久退出本会话,也即是删除本会话,显示信息“screen is terminating”。
多个session之间切换:先分离会话回到shell,再通过screen -ls查看会话列表,然后使用screen -r恢复到目标会话。
停止screen session:会话中输入exit正常退出,或者 kill -9 PID (session ID同时也是PID)。
对于处于Attached模式的会话,不能直接screen -r,需要先screen -d,然后才能screen -r。

Note
不要在session中嵌套建立session。
不建议在一个session中对另一个session做相关操作,例如:在session中直接恢复其他session会话。

Linux - 多窗口管理器Screen程序的更多相关文章

  1. Rsync,Linux日志及Screen工具介绍

    第十六次课 Rsync,Linux日志及Screen工具介绍 目录 一.rsync工具介绍 二.rsync常用选项 三.rsync通过ssh同步 四. rsync通过服务同步 五.linux系统日志 ...

  2. Linux经久不衰的应用程序

    Linux里面的应用程序一贯以高安全性,高性价比(功能/所占空间),此次记录一下Linux里面比较常用的而且经久不衰的应用程序. Shell:               bash(它结合了 csh ...

  3. linux下使用screen和ping命令对网络质量进行监控

    linux下使用screen和ping命令对网络质量进行监控 场景:应用连接云服务器经常偶尔会出现连接不上的情况,android和IOS端连接的时候也会出现tcp延时5秒以上,现在想验证是否是云服务商 ...

  4. Linux Bash命令关于程序调试详解

    转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...

  5. Linux Epoll介绍和程序实例

    Linux Epoll介绍和程序实例 1. Epoll是何方神圣? Epoll但是当前在Linux下开发大规模并发网络程序的热门人选,Epoll 在Linux2.6内核中正式引入,和select类似, ...

  6. 在Linux系统如何让程序开机时自动启动

    在Linux系统如何让程序开机时自动启动      核心提示:系统的服务在开机时一般都可以自动启动,那在linux系统下如果想要程序在开机时自动启动怎么办?我们知道在 windows系统“开始”--& ...

  7. Linux下执行Java程序报错

    在linux下编译java程序,执行javac编译生成class文件时,在centos7终端输入如,javac hello.java    会提示未找到指令,但用java -verison测试环境变量 ...

  8. linux 英汉词典程序shell+postgresql版

    在linux控制台下工作,有时候遇到不懂的单词,想要找个linux下的词典程序,搜寻无果,只好自己动手写个了. 首先获取词典文本文件,在github上找到一个 建立数据库 create databas ...

  9. Linux环境中Qt程序的手工发布

    Linux环境中Qt程序的手工发布

随机推荐

  1. 接口自动化测试链接https://www.cnblogs.com/finer/

    https://www.cnblogs.com/finer/ 测试框架的基本原则:业务逻辑与测试脚本分离,测试脚本与测试数据分离: 接口自动化的两种方式:工具(jmeter).代码(使用的是pytho ...

  2. Echarts 柱状图属性详解

    <script type="text/javascript"> // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init ...

  3. spring okhttp3

    准备工作 在pom.xml文件中增加以下依赖 <dependency> <groupId>com.squareup.okhttp3</groupId> <ar ...

  4. Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.2/gradle-3

    参考 https://blog.csdn.net/verkery6/article/details/80797705

  5. SpriteKit 关于categoryBitMask collisionBitMask contactTestBitMask 遇到的一些问题

    手写copy一下官方解释 首先是categoryBitMask /** 定义了这个物理刚体是属于哪个类别的掩码 .在一个场景中的每个物理刚体可以分配给达到 32 不同的类别(参数 int bitmas ...

  6. input date 支持placeholder属性

    第一种解决方法:IE,火狐浏览器,不支持input date的日历功能,火狐支持日历功能   ie,火狐,谷歌显示placeholder属性 css代码 #dateofday:before{  col ...

  7. linux之重定向命令

    1.shell重定向概念:shell重定向包含输出重定向和输入重定向 何为输入输出方向?何为标准输入输出方向? 标准输入方向:从键盘读取用户输入的数据,然后再把数据拿到程序(C语言程序.Shell 脚 ...

  8. 记录一次Centos磁盘空间占满的解决办法(转)

    原文地址:https://blog.csdn.net/everything1209/article/details/70209157 解决前 磁盘使用情况: 第二块磁盘使用率达到97% [root@f ...

  9. spring入门--spring入门案例

    spring是一个框架,这个框架可以干很多很多的事情.感觉特别吊.但是,对于初学者来说,很难理解spring到底是干什么的.我刚开始的时候也不懂,后来就跟着敲,在后来虽然懂了,但是依然说不明白它到底是 ...

  10. 基于UML的中职班主任工作管理系统的分析与设计--文献随笔(二)

    一.基本信息 标题:基于UML的中职班主任工作管理系统的分析与设计 时间:2016 出版源:遵义航天工业学校 关键字:中职学校; 班主任工作管理; UML建模 二.研究背景 问题定义:班主任是一项特殊 ...