journalctl обновляется только после перезапуска службы systemd?

У меня есть системный сервис с gunicorn. У меня есть оператор print в функции. Проблема в том, что journalctl не показывает вывод на печать при вызове функции, но он показывает вывод после обновления системного сервисного модуля. Должен ли он вести себя так? Что может быть решением для этого?

1 ответ

Это происходит из-за поведения Python по умолчанию для буферизации stdin, stdout и stderr. Для файла systemd включите следующую строку в тот же блок, что и ExecStart=/path/to/gunicorn,

Environment=PYTHONUNBUFFERED=1

Обратитесь к https://stackoverflow.com/questions/107705/disable-output-buffering для альтернативных способов его отключения.

Другие вопросы по тегам