无法分离屏幕会话

25

我对screen非常不熟悉,我按了C-Something而不是C-a。现在我无法分离或执行任何其他命令。我该怎么做才能分离我的screen会话?

5个回答

53
如果其他方法都失败了,请从另一个终端登录,然后键入:screen -raAdx。这将重新将您的屏幕附加为共享模式,并允许您分离它。

8
如果 screen -ls 显示你的 screen 已经连接,但是你没有终端可用,这将非常方便。 - Ascherer
2
如果有人有两个附加的屏幕会话,[可能]一个在另一个内部,我必须使用screen -d -R <screen id>来使外部会话分离,否则只有内部会话会分离。 - Dolan Antenucci
黑魔法!这真的奏效了。我遇到了Ascherer描述的奇怪问题,而这个方法解决了它。 - ktm5124

22
也许你按下了 C-s 键(其中 s 代表“停止”),请尝试按下 C-q 键来恢复...

9

ctrl-a+d 分离当前会话

如果您不需要屏幕上的信息,可以直接杀死进程,而不是分离。

没有任何命令可以使屏幕无响应。


^D(C-D)不会终止屏幕! 它可能会注销您的shell会话,从而关闭shell会话和您的屏幕会话,但如果您运行多个窗口、前台应用程序和其他事项,则不会发生这种情况。 - strager
(提醒自己和可能做出相同修改的人:对我来说,这是shift-ctrl-a和shift-ctrl-d。当我切换ctrl-c和ctrl-shift c时,可能是我无意中改变了某些设置。) - Kvothe

3

今天我遇到了类似的问题。我正在通过1MBps的连接传输一个100GB的文件,当传输进行到一半时我的工作站崩溃了。我重新打开PuTTY并进入我的终端服务器,但无论如何分离/重新附加命令都不起作用。我决定杀掉Screen,所以我检查了ps以获取PID。当我查看PS输出时,我注意到我用来启动Screen的BASH会话仍在运行。凭着一股冲动,我决定杀死那个会话而不是Screen,想着“这应该像关闭PuTTY窗口一样,可以让我重新附加。”果然,我成功地运行了“screen -dr”。


1

你也可以简单地注销,通过关闭终端会话,然后重新登录并重新附加 screen 会话。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接