我经常遇到 gnu 屏幕会话冻结(不接受键盘输入)并且变得无法恢复的情况。这通常发生在快速打字或中断任务时。然而,
- 屏幕本身处于活动状态:
ctrl-a [
仍然允许回滚。 - 滚动仍然处于活动状态:如果我发送 shell 会话
kill -INT <pid>
,^C
屏幕上会出现 。 ctrl Q
和ctrl-a q
,它们是常见建议的解决方案,没有影响。screen -S <session_name> -p 1 -X stuff "ls^M"
没有效果(我希望它ls
在选定的会话中运行;它可以在其他屏幕上运行)
我还可以尝试恢复像这样冻结的屏幕吗?
对于一些进一步的上下文:我正在这台机器上的窗口srun
中运行 slurm 交互式作业screen
,然后生成后台子进程,所以我不想杀死窗口(这样做会终止作业srun
)。我当前的解决方案只是将窗口视为死机,直到srun
工作用完时间为止,这很糟糕,因为我已经关闭了一个编号的屏幕选项卡数周。