Я пытаюсь использовать супервизор для управления постфиксом. Обычный метод - указать команду, которая запускает демон, я использую postfix -c /etc/postfix start . В справочной странице postfix сказано, что для остановки вы должны заменить start на stop в приведенной выше команде.
Я не вижу способа указания другой команды для остановки демона, просто сигнал. master говорит , что страница руководства сигнал TERM будет функционировать , как если бы использовался postfix abort , но ничего не говорится о выключая грациозно через сигнал.
Кроме того, метод начала / остановки в первом абзаце является хитрым в том, что касается надзора. Сценарий выполняет кучу проверок, а затем вызывает master , qmgr и pickup с master в качестве лидера группы процессов. Таким образом, supervisord имеет указатель на бесполезный PID (тот, с которым выполнялся скрипт) и поэтому не может использовать этот PID для остановки демона. То, к чему он должен иметь отношение, является master процессом.
Как далеко у меня есть:
[program:master]
process_name = master
priority = 5
directory = /etc/postfix
command = /usr/sbin/postfix -c /etc/postfix start
startsecs = 0
user = root
stopsignal = INT
Это запускает постфикс, но не может его остановить.

