shell GNU屏幕:未返回输出

z3yyvxxp  于 2022-11-16  发布在  Shell
关注(0)|答案(2)|浏览(130)

当我重新连接到一个现有的/正在运行的窗口时,屏幕似乎没有响应。我可以键入输入,但屏幕上没有显示输出。当我执行screen-ls时,屏幕和插座还在。有人知道在此之前可能发生了什么吗?我只能通过重新启动服务器来恢复功能。不确定是否有什么东西已经打破了屏幕和 shell 之间,由于坏字符。

s1ag04yj

s1ag04yj1#

我看到过这种情况--通常是当我愚蠢地挂起终端输出时(比如当我伸出手指并按下CTRL-S或其他一些无意义的操作时)。我们让相当多的进程在屏幕上运行,因此当我们遇到挂起屏幕会话时总是会感到恐慌。
解决方案是识别与screen关联的sshd会话,并将其删除。这将释放screen,并允许您从另一个ssh会话重新连接。(注意:注意不要杀死主sshd,否则您可能无法远程登录)。
我发现pstree -ac在这些情况下是无价的。

u3r8eeie

u3r8eeie2#

如果您为屏幕运行的命令即将终止,则屏幕将显示为空白,并且不显示输出。
但如果您运行类似toppython3 -m http.servernano *的命令,该命令不会很快终止,屏幕将显示。

编辑

要解决这个问题,可以在创建屏幕后运行exec echo "hello world"

相关问题