Экран GNU не отвечает, кажется заблокирован - PullRequest
76 голосов
/ 06 декабря 2010

GNU Экран, кажется, зависает.Невозможно ввести пользовательский ввод.

Я использовал экран GNU, и когда я нажал на экран, он перестал отвечать.Я могу выполнить все команды экрана GNU, но не могу ввести пользовательский ввод.Я не хочу убивать этот экран, потому что у меня есть важная работа, и я не хочу ее терять.

Ответы [ 5 ]

115 голосов
/ 06 декабря 2010

В приведенных ниже командах замените Ctrl любой клавишей ESC для экранных команд.

Попробуйте Ctrl + a q , что является последовательностью для разблокировки прокрутки.

Ctrl + a s - это последовательность, которая блокирует прокрутку, из-за которой экран выглядит так, как будто он зависает.

59 голосов
/ 06 февраля 2013

Когда с помощью PuTTY , вы можете получить явно зависший экран, если вы нажмете ctrl + s.Это посылает сигнал Xoff , блокирующий выход терминала.

Решение состоит в том, чтобы нажать ctrl + q для отправки сигнала Xon.

8 голосов
/ 15 апреля 2011

Вышесказанное прекрасно работает, если это ваша проблема.

Это также может произойти, если вы ssh'd на другой машине и не были в окне некоторое время, а затем, когда вы вернетесь, он заморожен. Чтобы это исправить, вы можете попробовать следующее:

1) Создать новое окно

Ctrl-a c

2) ssh в коробку, где вы ssh'd в коробку в окне, которое заморожено.

3) Найдите процесс, под которым работает ssh:

ps aux | grep <remote_box_on_frozen_screen>

или

ps aux | grep <your_user_id>

4) Убить процесс

kill <process_id>
2 голосов
/ 13 ноября 2017

Когда вы делаете screen -ls, первое число в имени экрана является идентификатором процесса. Так что, если вывод

There is a screen on:
    21605.pts-0.Random-server   (11/12/2017 11:44:15 PM)    (Detached)
1 Socket in /var/run/screen/S-kg.

Тогда это убьет его:

kill 21605

Обратите внимание, что номер команды kill такой же, как в выводе screen -ls.

0 голосов
/ 28 ноября 2018

Если вы используете команды backtick в строке состояния - то есть, если у вашего .screenrc есть что-то вроде этого:

backtick 1 0 60 /some/script.sh

, тогда вы хотите быть уверены, что скрипт быстрый: очевидно, выполнение backtickблокирует весь ввод-вывод на экран.

Если вы вносите изменения в конфигурацию, вам необходимо перезапустить сеанс экрана (так как конфигурация применяется только к новым сеансам).

...