Ответ 1
Вы можете перенаправить программу stdout на супервизор stdout, используя следующие параметры конфигурации:
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
Пояснение:
- Когда процесс открывается
/dev/fd/1
(что совпадает с/proc/self/fd/1
), система фактически клонирует дескриптор файла 1 (stdout) этого процесса. Поэтому использованиеstdout_logfile
приводит к тому, чтоsupervisord
перенаправляет программу stdout на собственный stdout. -
stdout_logfile_maxbytes=0
отключает вращение файла журнала, что явно не имеет смысла для stdout. Не указывая эту опцию, это приведет к ошибке, поскольку значение по умолчанию составляет 50 МБ, а супервизор недостаточно умен, чтобы обнаружить, что указанный файл журнала не является обычным файлом.
Для получения дополнительной информации:
http://veithen.github.io/2015/01/08/supervisord-redirecting-stdout.html