it-swarm.com.ru

GNU Экран не отвечает, кажется заблокирован

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

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

73
sirus

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

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

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

114
wkl

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

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

56
Daniel Reis

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

Это также может произойти, если вы 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>
8
Hazok

Когда вы делаете 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.

2
Pylinux

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

backtick 1 0 60 /some/script.sh

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

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

0
Piskvor