1

Кажется, я ничего не могу найти по этому поводу, есть ли способ передать все из окна на экране в другую команду? У меня есть сервер, работающий на экране (не лучшая идея, но единственный способ для сервера atm), и я хочу проанализировать вывод (пока он работает, можно ли передать все данные, напечатанные на этом отдельном экране, в другую команду?

Спасибо Макс

2 ответа2

1

Возможно, что-то вроде этого:

$ screen -d -m sh -c "/path/to/my/exec | tee output.log" 
1

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

  1. Прикрепить к сеансу.

  2. Нажмите клавишу префикса (Ctrl+A при неизменной настройке), затем :, введите logfile <filename> .

  3. Снова префикс : введите logfile flush <interval in seconds> .

  4. Префикс : введите log on .

Теперь screen будет записывать весь вывод в файл <filename> каждые <interval> секунд. Вы можете tail -f этот файл, чтобы обработать вывод.

Вы можете пропустить шаги с 2 по 4 и просто нажать « Префикс», а затем « . Значением по умолчанию будет screenlog.n для <filename> и 10 секунд для <interval> .

Обратите внимание, что файл может стать довольно большим, если у вас есть много выходных данных для обработки.

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