Linux中screen命令详解

使用ssh远程连接 linux服务器工作的时候,比如需要编译某些程序而这时网络不稳定断线, 工作就白干了, 又的重新连接重复刚才的工作,这时候screen就可以派上用场了。

  养成好习惯多用 screen!

  1.安装screen

  ———————————

  yum install screen

  ——————————–

  2.运行 screen

  ——————————–

  screen

  ——————————–

  3.用法

  Ctrl+a 然后按c   建立一个新的screen 会话

  Ctrl+a 然后按n   跳转到下一个screen 会话

  Ctrl+a 然后按p   返回到上一个screen 会话

  Ctrl+a 然后按d   将当前的screen 会话放在背景执行

  Ctrl+a 然后按(大写)S  分离一个screen 会话出来,分离后用Ctrl+a 然后按tab键 在分离出来的各screen间跳转。

  screen -ls  列出当前所有的screen会话

  screen -r 进程号  之前Ctrl+a 然后按d 放在背景执行的会话 呼叫回来。

  ssh中如果发生了突然断线 那么你重新登陆后 screen -ls 会发现 有screen的状态是处于(Attached)状态 此刻我们使用 screen -d 将他强行放到背景,然后再用screen -r 进程号将他呼叫回来。

  如果 screen -ls 看到有死亡的会话 可以用screen -wipe 进程号 将他杀掉。

  eg:

  #screen -list可以看到正在运行的screen实例

  There is a screen on:

  80338.ttyp3.chh (Detached)

  1 Socket in /tmp/screens/S-chh.

  返回screen -r 80338

  彻底退出:#exit

  Screen 提供了两个主要功能:

  在一个终端内运行多个终端会话(terminal session)。

  一个已启动的程序与运行它的真实终端分离的,因此可运行于后台。真实的终端可以被关闭,还可以在

  稍后再重新接上(reattached)。

  简短实例

  开启 screen:

  # screen

  在screen 会话中,我们可以开启一个长时间运行的程序(如top)。Detach 这个终端,之后可以从其他机器

  reattach 这个相同的终端(比如通过 ssh)。

  # top

  现在用Ctrl-a Ctrl-d 来 detach。Reattach 终端:

  # screen -r

  或更好的:

  # screen -R -D

  现在attach 到这里。具体意思是:先试图恢复离线的screen 会话。若找不到离线的screen 会话,即建立新

  的 screen 会话给用户。

  Screen 命令 (在 screen 中)

  所有命令都以Ctrl-a 开始。

  Ctrl-a ? 各功能的帮助摘要

  Ctrl-a c 创建一个新的 window (终端)

  Ctrl-a Ctrl-n 和 Ctrl-a Ctrl-p 切换到下一个或前一个 window

  Ctrl-a Ctrl-N N 为 0 到 9 的数字,用来切换到相对应的 window

  Ctrl-a ” 获取所有正在运行的 window 的可导航的列表

  Ctrl-a a 清楚错误的 Ctrl-a

  Ctrl-a Ctrl-d 断开所有会话,会话中所有任务运行于后台

  Ctrl-a x 用密码锁柱 screen 终端

  当程序内部运行终端关闭并且你登出该终端时,该 screen 会话就会被终止。

  screen 实在是个让人喜欢的工具,除了在管理远程会话时给你带来诸多方便外,今天还让我发现了一 个很好用的功能,同步显示你的屏幕给另一个会话。这在给别人处理问题是尤为好用,可以让对方同步看到你的操作,剩下很多之后的解释描述工作。

  方法:

  a.双方同时登陆系统

  b.演示方运行:

  screen -S yahunet

  c.观看方运行:

  screen -x yahunet

命运如同手中的掌纹,无论多曲折,终掌握在自己手中。

Linux中screen命令详解

相关文章:

你感兴趣的文章:

标签云: