
Файл Postfix master.cf содержит определение для пробуждения службы qmgr:
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (no) (never) (100)
# ==========================================================================
...
qmgr unix n - n 300 1 qmgr
...
Из qmgrстраница руководства, «ожидает прибытия входящей почты и организует ее доставку с помощью процессов доставки Postfix». Это правда, я вижу, как письма перемещаются по входящим и активным очередям сразу после поступления.
Но зачем нужно время пробуждения? Процесс qmgr все время запущен, выполняет свою работу. Когда расписание пробуждения, я надеюсь увидеть работу только после их звонка, каждые 300 секунд, но это не имеет особого смысла, потому что в этом случае только почта перемещается каждый раз.
решение1
После включения подробного "qmgr -v" журнал выводит больше информации, процесс, по-видимому, просыпается в запланированное время, определенное в master.cf:
2024-01-22T11:53:09.068813+01:00 mx postfix/qmgr[3633521]: trigger_server_accept_local: trigger arrived
2024-01-22T11:53:09.068835+01:00 mx postfix/qmgr[3633521]: master_notify: status 0
2024-01-22T11:53:09.068841+01:00 mx postfix/qmgr[3633521]: request: 87 (W)
2024-01-22T11:53:09.068848+01:00 mx postfix/qmgr[3633521]: request: 0 (?)
2024-01-22T11:53:09.068854+01:00 mx postfix/qmgr[3633521]: request ignored
2024-01-22T11:53:09.068861+01:00 mx postfix/qmgr[3633521]: qmgr_scan_start: start incoming queue scan
2024-01-22T11:53:09.068867+01:00 mx postfix/qmgr[3633521]: master_notify: status 1
2024-01-22T11:53:09.068874+01:00 mx postfix/qmgr[3633521]: done incoming queue scan
А когда приходит новое сообщение, qmgr запускается и вставляет указанный файл сообщения в активную очередь.
2024-01-22T11:59:44.274607+01:00 mx postfix/qmgr[3633521]: trigger_server_accept_local: trigger arrived
2024-01-22T11:59:44.274630+01:00 mx postfix/qmgr[3633521]: master_notify: status 0
2024-01-22T11:59:44.274640+01:00 mx postfix/qmgr[3633521]: request: 87 (W)
2024-01-22T11:59:44.274649+01:00 mx postfix/qmgr[3633521]: request: 0 (?)
2024-01-22T11:59:44.274658+01:00 mx postfix/qmgr[3633521]: request ignored
2024-01-22T11:59:44.274667+01:00 mx postfix/qmgr[3633521]: qmgr_scan_start: start incoming queue scan
2024-01-22T11:59:44.274676+01:00 mx postfix/qmgr[3633521]: master_notify: status 1
2024-01-22T11:59:44.274685+01:00 mx postfix/qmgr[3633521]: qmgr_active_feed: queue incoming
2024-01-22T11:59:44.274695+01:00 mx postfix/qmgr[3633521]: qmgr_active_feed: incoming/419B440602
2024-01-22T11:59:44.274704+01:00 mx postfix/qmgr[3633521]: qmgr_message_alloc: active 419B440602
Итак, я могу подтвердить идею, предложенную насписок постфиксной почты
Я не верю, что qmgr вообще запустится, за исключением случаев, когда соединение приходит на порт 25. Я не смотрел исходный код postfix, но, похоже, postfix достаточно умен, чтобы проверять наличие qmgr при входящем соединении, видеть, что он не запущен, и порождать его. Аналогично, каждые 5 минут он пытается разбудить qmgr, видит, что он не запущен, и порождает его.
Qmgr не нужно ждать времени пробуждения, когда приходит новая почта, служба очистки вызывает ее, а также когда настроен главный процесс.