关闭

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

标签: linux终端session服务器任务emacs
169人阅读 评论(0) 收藏 举报
分类:
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系统的知识还有待于读者去探索和学习。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:433851次
    • 积分:7430
    • 等级:
    • 排名:第2947名
    • 原创:288篇
    • 转载:248篇
    • 译文:1篇
    • 评论:23条
    最新评论