10

Я использую режим прокрутки / копирования GNU Screen. Поэтому я нажимаю Control-A [, чтобы войти в режим копирования, прокручиваю до нужного мне раздела ... и затем забываю.

Тем не менее, кажется, что экран GNU в режиме прокрутки / копирования блокирует выполнение (независимо от того, какое приложение было в данный момент). Например, если я запускаю локальный веб-сервер, если я нахожусь в режиме прокрутки / копирования, то запросы к этому веб-серверу прекратятся: процесс не ответит, пока я не выйду из режима копирования / прокрутки.

Я видел это как в скрипте / сервере Ruby On Rails, так и в инструменте Python Paste.

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

Моя версия экрана говорит:

Версия экрана 4.00.03 (FAU) 23 октября 2006 года

(Я спросил это на quora.com, но, возможно, это лучшее место)

1 ответ1

7

Причина, по которой ваши процессы блокируются, заключается в том, что screen заблокирует выходной канал процесса, пока вы находитесь в режиме копирования-вставки. Я не считаю это действительно ошибкой, поскольку реально вы просите экран сохранить потенциально неограниченное количество информации в своем буфере во время копирования / вставки. Если вы хотите, чтобы выходные данные программы проходили мимо, но также могли время от времени останавливать ее, попробуйте это.

program > logfile 2>&1 & 
less logfile

2> & 1 объединит stderr и stdout из вашей программы. & Отправляет программу в фоновый режим. Используйте fg, чтобы вывести его на передний план, если вам нужно. Теперь нажмите F, чтобы следовать за концом файла журнала, поскольку он увеличивается с меньшим. Нажмите Ctrl + C, если вам нужно что-то остановить и изучить, затем F, чтобы повторить. Вы также можете нажать &, чтобы ограничить видимые строки меньше регулярным выражением. Очень удобно при просмотре файлов журнала.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .