使用telnet或SSH远程登录linux时,如果连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的session。screen命令可以解决这个问题。

Screen工具是一个终端多路转接器,在本质上,这意味着你能够使用一个单一的终端窗口运行多终端的应用。

基本命令:

开一个会话,并命名为temp:

screen -S

temp

临时退出这个会话:

ctrl-a d

再次进入名为temp的会话:

screen -r

temp

检查正在运行的会话:

screen -ls

转一篇不错的文章:

-------------------------------

我发觉管理Linux和Unix系统最有利的情况之一就是已经有如此得多工具都能够帮助你完成工作。几乎任何一个可以想像的问题,都有人花费时间制作出相应的处理工具。并且多数情况下,此类工具都足够灵活,能够根据你所遇到的问题被完全更改。对我来说,screen就是这样一个工具。

Screen给我留下如此深的印象,感动了我,或许是因为在我使用Unix系统工作的前10年中,从来没有听说过它的存在。我浪费了大量时间试图解决它已经解决的各类问题。或者,我也许很容易被感动。不过如果screen对你来说是一个新东西,或者你已经知道她,并想得到它的一些使用技巧,请接着读下去。

Screen工具是一个终端多路转接器,在本质上,这意味着你能够使用一个单一的终端窗口运行多终端的应用。你现在可能会想,“有什么了不起,我早就能够将工作放在shell的后台来执行了。”确实,你能够那样做,不过若是程序本身不能够放入后台怎么办――也就是说,一些用ncurses写的程序?或者,如果你需要获得终端的整个对话该怎么办?再有,根据程序的先决条件,可能同时运行的程序之间会有影响。

Screen将允许你做到所有的这些事情。你的程序将不会察觉到与在单独的终端下运行有何不同,这将使它们运行的很好。这种情况下也没有客户机或服务器等“远程”工具的概念,只要在系统中安装了screen工具,你就可以运行你想要的工具,并且能够用screen连接系统,也就是说,你拥有所有你需要的东西。Screen的另一个好处是它由GNU组织撰写和维护,因此,它能够在可以想像的到的几乎所有的Unix平台上使用。(对于那些管理多种不同类型系统的人来说,这非常关键,因为它意味着你能够在不同的平台上使用相同的工具。)

Screen工作的例子

在我家里,我运行了一个低功率的FM发射器以广播我的音乐收藏。(发射器相比无线连接并不贵,它能够让我在院子里使用随身听仍然听到我的频道。)我使用名片mp3blaster驱动发射器,这是一个非常好的基于控制台的MP3播放器,能够支持巨大的MP3收集。一旦它开始运行,mp3blaster的信息看起来就像下图一样:

迄今为止,它都是如此的优秀:我能够打开一个窗口,开始mp3balster,整天广播音乐。但是如果我坐在楼上我的笔记本面前,并且不详跑到楼下改变播放列表该怎么办?很简单,我只需要在一个screen对话下启动mp3blaster,然后能够从任何拥有shell的系统访问所调用的screen。

我能够使用如下的方法开始一个叫做“radiostation”的screen对话:

tmancill@ghostrider:~$ screen -S radiostation

(此时出现一个空白的screen)

(载入我的播放列表,然后按下play开始发射)

(按下“CTRL-a”,然后按下“d”离开)

在这里,我能够退出我的shell,而mp3blaster则继续保持工作,使用现有的音轨信息和运行时间来更新终端窗口(现在此窗口并不存在)。让我们假设,我的妻子打电话给我说,“嘿!播放一些不同于你收藏的音乐的吧!”,然后,我用ssh登录ghostrider机器,并使用下面的命令恢复会话:

tmancill@ghostrider:~$ screen -r radiostation

如果我碰巧忘记了正在运行的screen会话的名字,我可以使用“-ls”开关来查看正在运行的会话:

There are screens on:

10238.frm (Detached)

25400.radiostation (Attached)

2 Sockets in /var/run/screen/S-tmancill.

如果我离开办公室时没有注销“radiostation”screen,我能够恢复它,指示screen在恢复运行(-r)我所请求的对话之前跟任何正在运行的对话分离(-d)。在我办公室的窗口上,我将看到:

tmancill@ghostrider:~$ screen -r radiostation

[remote detached]

当然,你不可能运行这个广播站而耗尽所有的screen。在生产环境中,这非常有用,因为你不必区分你应该从哪个地点访问这个对话。在我的办公室中,我需要在GDB(GNU

Project debugger,http://www.gnu.org/software/gdb/gdb.html)下运行一块自动售货机软件,以便在它们存在缺点(segfaulted)时,能够得到错误的回溯跟踪信息。当崩溃发生时,我的监控软件将向我们发出警告通知,我们二十四小时随叫随到的支持团队成员将访问这个会话,在我们单独的每个工作站上运行GDB

shell来解决问题。这里有一个选择,就是可以从系统控制台直接运行软件,但这意味着待命的技术团队必须在现场,然后必须物理的进入数据中心执行后续的工作。因此,screen绝对是一个适合的解决方案。

有一件事需要谨慎行事:screen是一个对用户权限非常敏感的程序,也就是说它会根据执行操作的用户来进行不同的响应。在GDB的例子中,自动售货机软件运行于一个特殊的用户账户下,因此如果你使用“su”或“sudo”命令改变成另一个用户,你将遇到权限问题。出现这种问题的原因是screen必须能够打开你的tty(终端)。举一个例子,让我们假设我想在我系统中的screen下以用户“asterisk”运行一些程序,如果我以用户“tony”登录,然后改变为用户“asterisk”,我将用以下的命令来运行:

Cannot open your terminal '/dev/pts/146' - please

check.(不能打开你的终端“/dev/pts/146” - 请检查。)

asterisk@bach:~$ ls -al /dev/pts/146

crw------- 1 tony tty 136, 146 May 31 18:16 /dev/pts/146

就像你能够看到的一样,由于安全问题,我的tty(终端)由打开shell的用户所拥有,而不是我改变为asterisk后的有效用户ID。解决这个问题的一个方式是在调用screen之前,直接以用户asterisk登录,但这个问题同样会以另外的形式呈现,那就是,如果我以asterisk开始工作,然后在其它用户下请求联机,之后再切换回asterisk,“screen

–r”仍将不能打开终端。同样注意到,在我改变为用户asterisk之前,“screen

–ls”也不会向我显示出“pbx”会话,这是由于screen为每个screen用户创建了一个文件夹,它只能列出此用户的会话。

那么,该怎么做才能规避这些权限问题呢?如果用户账号有一个密码,你通常能够通过ssh以此用户直接进入系统(也可能是本地机)。或者,如果你总是很匆忙,并且有足够的自信,感觉并不会存在本地安全威胁,你则可以在tty(终端)修改权限。如果你这样做了,请确信在工作完后,你已经从你工作的终端上注销。实际上,你已经给予了每个本地系统用户通过shell访问的权限。另一个选择是改变成root用户再调用screen,然后在screen会话中改变为运行工作所需的系统账号。这样做能够正常的原因是超级用户能够打开任何用户的ty(终端),而表面上,你的支持团队应该有改变为root用户的足够权限。

Screen能够帮助你使用那些不适合“无人看管”使用的大量终端软件,并且只需运行一个起始会话即可。相比之前你可能通过多个会话登录远程系统,它的部署是如此快速,易用性又是如此之好,或者说它在你的Linux控制台上添加和设置了附加的虚拟控制台。这就是screen,上面的文章将指导你更好的使用这个强大的工具,你可以在你需要的任何时候运行它。

版权所有,违者不究。

-------------------------------------------------------------

linux的screen工具下载,Linux终端下的强大工具 - screen相关推荐

  1. linux下的pdf工具下载,Linux_Linux系统下的PDF工具 LinuxPDFeditor, Linux下PDF编辑软件nb - phpStudy...

    Linux系统下的PDF工具 LinuxPDFeditor Linux下PDF编辑软件 修改用pdfedit,加注记用xournal,合并用pdktk. 当用户在寻找适宜的PDF编辑器时,Linux ...

  2. linux 下qt 终端隐藏在后台_20 个 Linux 终端下的生产力工具 | Linux 中国

    来试下这些开源工具.你的效率一定会提升. 来源:https://linux.cn/article-12274-1.html 作者:Alan Smithee 译者:Xiaobin.Liu 诚然,很多人使 ...

  3. linux端口抓包工具下载,linux下的抓包工具tcpdump

    linux下的抓包工具. 抓包工具比较好用的有两个,一个是snort,一个是tcpdump,这次不说snort了,觉得这个工具虽然很强大,但是比较复杂,还是tcpdump比较简单.tcpdump wi ...

  4. linux arp 工具下载,linux如何ARP嗅探 Linux下嗅探工具Dsniff安装记录(示例代码)

    先来下载依赖包 和一些必须要用到的工具 我这里用的是 dsniff-2.3 的版本 wget http://www.monkey.org/~dugsong/dsniff/dsniff-2.3.tar. ...

  5. linux下 抓包工具下载,Linux下抓包工具tcpdump使用介绍

    Linux下抓包工具tcpdump使用介绍 发布时间:2012-11-30 17:11:39   作者:佚名   我要评论 在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的 ...

  6. linux程序分析工具下载,linux 程序分析工具

    http://blog.csdn.net/denny_233/article/details/7477282 2012 linux程序分析工具介绍(一)--"/proc" 写在最前 ...

  7. linux装pl2303驱动下载,Linux下安装USB转串口驱动(PL2303)

    主机:Gentoo Linux 11.2 内核版本:Linux 3.0.6 以前在Ubuntu下USB转串口驱动已经编译进内核,而编译的Gentoo内核没有编译进去,这里将内核中PL2303驱动 co ...

  8. linux网络驱动rtl8211f,RTL8211F在uboot下使用mii工具配置RJ45网口灯详解

    RTL8211F在uboot下使用mii工具配置RJ45网口灯详解. 首先要明确使用这个工具的目的,类似于i2c-test工具测试i2c,使用这个工具验证测试网口灯的配置.然后再通过软件或者驱动来实现 ...

  9. linux查看信息文件,lsof---Linux查看文件信息的强大工具

    一个日志文件把我绕进去了,处理问题被迫用到了lsof 本来只想看一下该日志文件被哪些进程占用 不过现在还是系统的来看看吧 lsof命令是什么? 是一个列出当前系统打开文件的工具.被打开的文件可以是 1 ...

最新文章

  1. golang实践LSM相关内容
  2. Object-C---gt;Swift之(八)类和结构体
  3. java ee cdi_Java EE CDI ConversationScoped示例
  4. android ui stencil kit 下载,实用的iOS6/iPhone5 GUI/iPad PSD以及其它版本素材
  5. 使用阿里云服务器(OOS)实现图片上传
  6. win11设置打开闪退怎么办,解决win11系统闪退的问题
  7. PowerDesigner在生成SQL时报错Generation aborted due to errors detected during the verification of the mod
  8. 朴素的UNIX之-进程/线程模型
  9. 这里有110+公开的专业数据集
  10. 必应Bing可能会退出中国市场
  11. 冰点等文库下载器无法使用的解决办法
  12. 4种方法设置Word文档保护
  13. 番茄学习--番茄工具推荐
  14. 使用Python绘制移动均线
  15. 微信小程序之解决background-image属性失效
  16. nodejs+vue+elementui宾馆酒店客房信息管理系统-express
  17. 智能手持PDA是什么?
  18. 西北工业大学计算机学院教授张凯龙,张凯龙
  19. 今日踩坑Maven:omitted for duplicate
  20. 中国平安增持华夏幸福5.69%股权 看好长期战略协同

热门文章

  1. 300道Java面试题(包括计算机基础),少走弯路
  2. geohash php_场景解决方案:附近的人(GeoHash的应用)
  3. Telegram电报:设置中文的方法
  4. 『工程项目实践』银行卡识别(CTPN+CRNN)
  5. orangepi3 -硬件测试,并升级内核到4.9
  6. 变频电源面板上的英文按钮和显示都是什么意思
  7. BUGKU-CTF入门笔记
  8. Dynamics 365(online) V9.0 new features for developers(二:JavaScript Web 资源依赖性)
  9. mysql中组合索引创建的原则是什么意思_面试前必须要掌握的MySQL索引最左前缀匹配原则...
  10. 基于Bert的图书分类项目