Получить вывод команды с отсоединенного экрана

Получить вывод команды с отсоединенного экрана

Я запускаю отсоединенный screenсеанс и запускаю в нем команду с помощью screen -X, например так:

screen -S $SESSION -X <command>

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

В качестве обходного пути я попытался включить журнал для сеанса, выполнив команду

screen -L -S $SESSION -X <command>

но, похоже, файл журнала не создается.

Итак, подведем итог: возможно ли выгрузить историю экрана для запущенного сеанса отсоединенного экрана?илиможно ли включить и выключить ведение журнала для запущенного отсоединенного сеанса?

решение1

Чтобы запустить экран с включенным ведением журнала, используйте

screen -L <command>

Чтобы включить ведение журнала на существующем экране

screen -X log

вы можете указать, какой экран использовать, если у вас запущено несколько экранов, используя -S

Журнал будет содержать все, что экран отправляет в stdout с момента включения ведения журнала. Возможно, вам захочется удалить screenlog.X и снова включить ведение журнала, чтобы получить самый последний вывод.

Связанный контент