Назад | Перейти на главную страницу

Как использовать опцию окружения супервизора в разделах программы?

В надзорная документация утверждает, что

Никакая оболочка не выполняется супервизором, когда он запускает подпроцесс, поэтому переменные среды, такие как USER, PATH, HOME, SHELL, LOGNAME и т. Д., Не изменяются по сравнению с их значениями по умолчанию или иным образом переназначаются. (...) Если вам нужно установить переменные среды для конкретной программы, которые в противном случае могли бы быть установлены вызовом оболочки для конкретного пользователя, вы должны сделать это явно в параметре конфигурации environment = program.

Пример, который я воспроизвел в /etc/supervisor/conf.d/apache2.conf:

[program:apache2]
command=/home/chrism/bin/httpd -c "ErrorLog /dev/stdout" -DFOREGROUND
user=chrism
environment=HOME=/home/chrism,USER=chrism

Тем не мение,

# supervisorctl reread
ERROR: CANT_REREAD: Unexpected end of key/value pairs

Удаление строки «среда» конфигурации apache2 не приводит к ошибкам синтаксического анализа для повторного чтения. Что тут скучно? Я использую супервизор 3.0a8-1 в Debian Squeeze и отмечу, что основной супервизор - 3.0a10; Я не могу найти ссылку на environment добавлен с 3.0a8

http://supervisord.org/configuration.html#program-x-section-settings

говорит: "Значения, содержащие не буквенно-цифровые символы, следует заключать в кавычки"