Отсутствие вывода файла журнала при запуске скрипта под экраном, с перенаправлением консоли (тройник)

У меня есть скрипт python, который напишет некоторые общие записи на консоль. Я перенаправил это в файл журнала, используя типичный python -u jbot.py | tee -a jbot.log python -u jbot.py | tee -a jbot.log . Это отлично работает, я получаю вывод консоли и вход в лог-файл. Однако при попытке запустить это под экраном:

screen python -u jbot.py | tee -a jbot.log

Я не получаю какой-либо вывод журнала в файл. Как только я отключился от screen , удалит ли консольный вывод для этого сеанса полностью, или есть способ, по которому у меня все еще есть вкладка logfile из stdout и stderr моего скрипта?

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

  • Byobu - Новое окно с той же сессией ssh?
  • Убейте отключенный сеанс SSH, запущенный в `screen`
  • screen + vim - Любой способ автоматически установить имя окна экрана, чтобы открыть имя файла vim?
  • Создание экрана не работает на crontab
  • Отображение имени сеанса экрана GNU и заголовка окна в командной строке
  • Как остановить экран от клонирования моих названий?
  • Shell: как перейти к началу строки, когда вы находитесь внутри экрана?
  • Пользовательские цвета заголовка экрана
  • One Solution collect form web for “Отсутствие вывода файла журнала при запуске скрипта под экраном, с перенаправлением консоли (тройник)”

    Вам нужно сделать что-то вроде этого:

     screen sh -c 'python -u jbot.py | tee -a jbot.log' 

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

    Другим вариантом является использование встроенного журнала вывода на экране; см. параметр -L (также доступный внутри экрана через интерфейс пользователя).

    Interesting Posts

    Как использовать 64-битный процессор в KVM?

    Используйте пользовательскую цветовую схему в Vim

    Ошибка при загрузке разделяемых библиотек после установки программы

    Использовать клавиши PGUP / HOME и PGDN / END для инвертирования fn

    Сценарий Bash для обнаружения загруженных файлов триггеров много раз для одного файла

    запустить x11vnc при загрузке

    обрабатывать большое количество журналов с помощью cron или logrotate

    Как извлечь URI из файлов

    Неверная конфигурация `x86_64 ': машина` x86_64' не распознана

    В каких дистрибутивах GNU / Linux есть хорошее программное обеспечение для увеличения экрана, которое можно свободно или предустановить?

    Как загрузить трафик с биполярным трафиком с использованием HAProxy

    Измените код ASP на PHP-код во всех файлах

    Изменение местоположения Crontab

    время доступа к файлу после загрузки файла в кеш

    Что происходит, когда вы выполняете функцию, которая вызывает другую функцию?

    Linux и Unix - лучшая ОС в мире.