解决screen状态为Attached连上不的问题

16,655次阅读
没有评论

解决 screen 状态为 Attached 连上不的问题

screen 是 linux 下的一种多重视窗管理程序。在使用 telnet 或 SSH 远程登录 linux 时,如果连接非正常中断,重新连接时,系统将开一个新的 session,无法恢复原来的 session。screen 命令可以解决这个问题。Screen 工具是一个终端多路转接器,在本质上,这意味着你能够使用一个单一的终端窗口运行多终端的应用。screen 为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用 telnet 登入主机或是使用老式的终端机时,才有可能用到 screen 程序。

当你挂起 screen,下次想连上 screen 的时候,有时候会出现 screen session 的状态为 Attached 而怎么连也连不上的情况。下面给出解决方法。

语 法:

screen [-AmRvx -ls -wipe][-d < 作业名称 >][-h < 行数 >][-r < 作业名称 >][-s <shell>][-S < 作业名称 >]

参 数:

-A 将所有的视窗都调整为当前终端机的大小。
-d< 作业名称 > 将指定的 screen 作业离线。
-h< 行数 > 指定视窗的 缓冲区 行数。
-m 即使当前已在作业中的 screen 作业,仍强制建立新的 screen 作业。
-r< 作业名称 > 恢复离线的 screen 作业。
-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的 screen 作业。
-s<shell> 指定建立新视窗时,所要执行的 shell。
-S< 作业名称 > 指定 screen 作业的名称。
-v 显示版本信息。
-x 恢复之前离线的 screen 作业。
-ls 或 –list 显示当前所有的 screen 作业。
-wipe 检查当前所有的 screen 作业,并删除已经无法使用的 screen 作业。

备注

在每个 screen session 下,所有命令都以 ctrl+a(C-a) 开始。
C-a ? -> Help,显示简单说明
C-a ” -> 列出终端列表
C-a A -> 重命名终端
C-a c -> 创建新的终端, 并切换到该终端
C-a d -> 暂时断开会话, 但所有任务都依然执行
C-a K -> 关闭当前终端, 并切换到下一个终端(当没终端时 退到原始 shell 终端)
C-a n -> 切换到下一个终端
C-a p -> 切换到上一个终端
C-a t -> 显示当前时间, 和系统的 load
C-a S -> 新建水平线分割终端
C-a Tab -> 水平线切换终端
C-a X -> 关闭当前终端
C-a + -> 扩大当前终端
C-a – -> 缩小当前终端 C -a [Space] -> 窗口切换
C-a 0-9 -> 在 0 - 9 个终端之间切换
C-a C-a -> 最近使用的 2 个窗口切换
C-a w -> 列出终端列表
C-a x -> 锁住当前窗口,需用用户密码解锁
C-a z -> 把当前会话放到后台执行,用 shell 的 fg 命令则可回去。

exit:关闭当前终端 (注:和“C-a c”一样

Ctrl-a:
:screen <command> 新建 screen 终端,并运行命令 <command>
:resize <height> 改变当前窗口高度为 <height>
:quit 退出 screen 关闭所有 screen 终端,结束其中所有任务 Ctrl-a <Esc> 进入选择模式
<PageUp> 或 Ctrl-u 光标上移一页
<PageDown> 或 Ctrl-d 光标下移一页
<Left> 或 h 光标左移一格
<Down> 或 j 光标下移一行
<Up> 或 k 光标上移一行
<Right> 或 l 光标右移一格
<Space> 选择开始,选择结束
<Esc> 退出选择模式
Ctrl-a ] 粘贴选择的内容

列出状态为 Attached 的 session id。

  • screen -ls
  • screen -D  -r

解释:-D -r 先踢掉前一用户,再登陆。

正文完
 
VPSWe
版权声明:本站原创文章,由 VPSWe 2016-08-20发表,共计1535字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)