Я пытаюсь устранить некоторые проблемы с обработкой очереди в SendMail и не понимаю, почему я вижу ссылки в ps
вывод после НЕКОТОРЫХ команд sendmail, но не других.
У меня есть сервер sendmail 8.14.x, и сейчас у меня выполняется пара операций:
/usr/sbin/sendmail -L Foo_Instance -Ac -q 5m -C /etc/foo/mail/Foo_Instance/submit.cf
Когда я запускаю это, а затем проверяю запущенные процессы, я вижу:
root 7642 0.0 0.0 9400 1736 ? Ss 18:20 0:00 sendmail: accepting connections
smmsp 7650 0.0 0.0 8348 1528 ? Ss 18:20 0:00 sendmail: Queue runner@00:05:00 for /var/spool/clientmqueue
101 7668 0.0 0.0 8348 1536 ? Ss 18:20 0:00 sendmail: Queue runner@00:05:00 for /var/spool/mqueue-foo/Foo_Instance/msp
root 7671 0.0 0.0 4028 668 pts/0 R+ 18:20 0:00 grep sendmail
Думаю, все в порядке, но если я все остановлю и бегу:
/usr/sbin/sendmail -bd -q5m -L Foo_Instance -C /etc/foo/mail/Foo_Instance/sendmail.cf
... а потом проверяю запущенные процессы, вижу:
root 7823 0.0 0.0 9404 1740 ? Ss 18:24 0:00 sendmail: accepting connections
root 7830 0.0 0.0 4028 688 pts/0 R+ 18:25 0:00 grep sendmail
Ключевое отличие здесь в том, что я не вижу «обработчик очереди» в выводе ps. Почему я не вижу разные процессы одновременно? Или ни разу?
Даже если я не вижу процесс обработчика очереди, я вижу в журналах индикацию того, что очереди повторяются.
Сначала я подумал, что это может происходить из-за неправильного места после -q
. Но поведение все равно происходит, даже если я бегу
/usr/sbin/sendmail -L Foo_Instance -Ac -q5m -C /etc/foo/mail/Foo_Instance/submit.cf
Я подумал, что, возможно, «Queue runner @ xx: xx: xx» может быть признаком того, что обработчик очереди является постоянным исполнителем очереди, но batbook указывает, что постоянный процесс runner будет иметь в нем слово «работает»:
root 22947 512 ? S 08:32 0:00 sendmail: running queue: /var/spool/mqueues/
q.1/df
sendmail -bd -q5m
запускает основной процесс демона (sendmail: accepting connections
). Процесс-демон будет порождать процесс обработчика очереди для однократного запуска очереди. при необходимости.
Вам нужна отдельная команда для запуска процесса обработчика очереди клиента (sendmail: Queue runner@00:05:00 for /var/spool/clientmqueue
). Поведение обработчика очереди клиента контролируется submit.cf
не по sendmail.cf
.
[Некоторые установки используют периодические "однократные" задания cron для обработки клиентской очереди вместо постоянных обработчиков очереди]