Задать вопрос
AterCattus
@AterCattus
Люблю быстрый backend

Получение tail из screen'а?

FreeBSD 8.

Имеется уже запущенный screen, выполняющий что-то там (запущен как -dmS без логирования по -L).

Можно ли из него скриптом выдрать последние несколько строк выдачи? :)


Вариант с ручным screen -x…, copy&paste, С+a d не рассматривается. Перезапустить screen с указанием -L поздно, их много, и они вовсю работают.


Заранее спасибо.
  • Вопрос задан
  • 3081 просмотр
Подписаться 4 Оценить Комментировать
Решения вопроса 1
Alukardd
@Alukardd
Можно послать любую команду любому окну любого screen'а. О как завернул)
screen -S name -p 0 -X hardcopy
screen -S name -p 0 -X stuff 'ls -l^M'
stuff это внутрення команда screen'а для подачи текстиа на вход screen'у… Отправится нулевому окну скрина с именем name команда ls -l. ^M нужно вместо нажатия Enter. ^M не просто печатается, а вставляется как управляющая последовательность, получить можно так: Ctrl-v Ctrl-m и символ появится.
Либо можно так записать: screen -S name -p 0 -X stuff 'ls -'`echo -ne '\015'`.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Нажмите там ^a H — и будет вам лог текущего окна в текущем каталоге с именем screenlog.<номер окна>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы