你不知道的Linux系统中强大的screen命令

发表于:2011-9-22 09:44

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  Linux系统中强大的screen命令可能很多用户还没感受到,下面介绍的就是Linux系统中强大的screen命令,具体内容如下所述。

  因为做二代测序分析的原因,经常需要运行很长时间的程序。由于时间很长,一直都没什么太好的办法。当有了screen,这一切便都迎刃而解了。敲入命令screen会创建一个跑着shell的单一窗口,在这里面,你可以跑你所需要的程序。

  使用screen非常简易,只需在SHELL键入screen,便可打开一个screen session。

  而在每个screen session下,所有命令都以ctrl+a(C-a)开始。现在让我来简单介绍基本的命令C-ac->Create,开启新的window

  C-an->Next,切换到下个window

  C-ap->Previous,前一个window

  more..

  less..C-aC-a->Other,在两个window间切换

  C-aw->Windows,列出已开启的windows有那些

  C-a0->切换到第0个window

  C-a1..9->切换到第1..9个windowC-aa->发出C-a,在emacs,ve,bash,tcsh下可移到行首C-at->Time,显示当前时间,和系统的load

  C-aK(大写)->killwindow,强行关闭当前的windowC-a[->进入copy mode,在copy mode下可以回滚、搜索、

  复制就像用使用vi一样C-bBackward,PageUp

  C-fForward,PageDown

  H(大写)High,将光标移至左上角

  LLow,将光标移至左下角

  0移到行首

  $行末

  在普通模式下:

  用screen-ls可以看所有的screen sessions

  用screen-rsessionid可以进sessionid指定的特定的screensession

  最后exit退出即可。

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

  另外大家在起后台服务,或者长时间执行某个脚本的时候。是不是感觉,交互性很差,

  有时,想把结果直接在终端上输出,又怕不小心关闭了终端导致进程退出?(有些sshd服务还会设置连接超时,自动退出终端)

  现在用screen这个指令可以很好的解决跑后台服务的尴尬。

  命令其实超简单的:

  直接在终端上输入screen,这个时候,服务器端会启一个新的终端,但这个终端,与之前的普通终端不一样,它不隶属于sshd进程组,这样,当本地终端关闭后,服务器终端不会被kill。

  当然,优点还不止这么些,在服务器终端里执行任务时,你甚至可以随时地切换到本地终端做些其他事情,然后,要回去时,再恢复到刚才已经打开的服务器终端里,如果刚才的任务没有结束,还可以继续执行任务。

  操作步骤:

  首先,进入screen-Ssessionname终端。(sessionname是为了分辨你的session)

  然后按ctrl+a,再按d键暂时退出终端。

  当要返回时,先查看刚才的终端进程ID,screen-list

  或直接

  screen-rxx(刚才的sessionname)就可以了

  当然,当你开了很多个session后,打算关闭几个session,可以进入到session后,exit一下就可以了.

  总的来说,screen是可以完全替代nohup的,并且本身提供了较复杂的功能,但是我认为,刚才那些简单的功能足以应付日常运作。

  总结:

  希望本文介绍的Linux系统中强大的screen命令能够对读者有所帮助,更多有关Linux系统的知识还有待于读者去探索和学习

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号