当我重新连接到一个现有的/正在运行的窗口时,屏幕似乎没有响应。我可以键入输入,但屏幕上没有显示输出。当我执行screen-ls时,屏幕和插座还在。有人知道在此之前可能发生了什么吗?我只能通过重新启动服务器来恢复功能。不确定是否有什么东西已经打破了屏幕和 shell 之间,由于坏字符。
s1ag04yj1#
我看到过这种情况--通常是当我愚蠢地挂起终端输出时(比如当我伸出手指并按下CTRL-S或其他一些无意义的操作时)。我们让相当多的进程在屏幕上运行,因此当我们遇到挂起屏幕会话时总是会感到恐慌。解决方案是识别与screen关联的sshd会话,并将其删除。这将释放screen,并允许您从另一个ssh会话重新连接。(注意:注意不要杀死主sshd,否则您可能无法远程登录)。我发现pstree -ac在这些情况下是无价的。
sshd
pstree -ac
u3r8eeie2#
如果您为屏幕运行的命令即将终止,则屏幕将显示为空白,并且不显示输出。但如果您运行类似toppython3 -m http.servernano *的命令,该命令不会很快终止,屏幕将显示。
top
python3 -m http.server
nano *
要解决这个问题,可以在创建屏幕后运行exec echo "hello world"。
exec echo "hello world"
2条答案
按热度按时间s1ag04yj1#
我看到过这种情况--通常是当我愚蠢地挂起终端输出时(比如当我伸出手指并按下CTRL-S或其他一些无意义的操作时)。我们让相当多的进程在屏幕上运行,因此当我们遇到挂起屏幕会话时总是会感到恐慌。
解决方案是识别与screen关联的
sshd
会话,并将其删除。这将释放screen,并允许您从另一个ssh会话重新连接。(注意:注意不要杀死主sshd,否则您可能无法远程登录)。我发现
pstree -ac
在这些情况下是无价的。u3r8eeie2#
如果您为屏幕运行的命令即将终止,则屏幕将显示为空白,并且不显示输出。
但如果您运行类似
top
python3 -m http.server
nano *
的命令,该命令不会很快终止,屏幕将显示。编辑
要解决这个问题,可以在创建屏幕后运行
exec echo "hello world"
。