Экран GNU зависает из-за блокировки прокрутки - PullRequest
0 голосов
/ 29 ноября 2018

Я запускаю критическое приложение с большим количеством выходных данных под screen.В конце концов это блокирует.Расследование показало, что причиной является screen, что unblock scrolling с помощью Ctrl-A q или другими хитростями, одновременно блокируя приложение.Есть ли способ предотвратить блокировку экрана приложением, независимо от того, сколько оно выводит?

1 Ответ

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

Это звучит странно - для меня screen (на самых разных хостах, разных версиях ОС, разных версиях экрана и т. Д.) Никогда не блокирует свои приложения, независимо от того, сколько они выводят.В конце концов, когда буфер прокрутки заполнен, старые строки очищаются, но вывод продолжает поступать.

Если вы упомянули ctrl-a q, возможно, посмотрите на настройки управления потоком ,Вы можете заставить экран игнорировать XON / XOFF (ctrl-s, ctrl-q) в целом ...

РЕДАКТИРОВАТЬ: что касается вашего комментария, я верю, что то, что вы описываете, действительно происходит.Я просто хотел бы отметить, что это может быть не screen, что является причиной этого, или, может быть, это потому, что странная комбинация с чем-то еще.У меня только сейчас while true ; do date ; done работает в screen - вызывая максимальное количество спама.До сих пор было написано много-много тысяч строк, и никаких блокировок.Это свежая немодифицированная установка screen с настройками по умолчанию в относительно новой установке Debian 9.4.

Я также попробовал указанную вами команду (ssh -t user@host screen), за которой следует бесконечный цикл, ито же самое верно - без блокировки через долгое время.

Обратите внимание, что ssh имеет функции тайм-аута на неактивности клавиатуры (консоли);может те виноваты?

...