Email-Server
為什麼在執行一些 sendmail 命令而不是其他命令後,我將“sendmail:queue runner”視為一個程序?
我正在嘗試對 SendMail 中的一些隊列處理問題進行故障排除,並且對為什麼在
ps
某些 sendmail 命令而不是其他命令之後在輸出中看到引用感到困惑。我有一個 8.14.x 的 sendmail 伺服器,目前我正在進行一些操作:
/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 輸出中看不到“Queue runner”。為什麼我兩次都看不到單獨的程序?還是沒有時間?
即使我沒有看到隊列執行器程序,我也會在日誌中看到隊列正在重試的指示。
起初,我認為這可能會發生,因為 . 後面有一個錯誤的空格
-q
。但是即使我跑步,這種行為仍然會發生/usr/sbin/sendmail -L Foo_Instance -Ac -q5m -C /etc/foo/mail/Foo_Instance/submit.cf
我認為也許“Queue runner@xx:xx:xx”可能表明隊列執行器是一個持久的隊列執行器,但 batbook 表明一個持久的執行器程序將在其中包含“執行”這個詞:
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
not by控制sendmail.cf
。$$ Some setups use periodic “single run” cron jobs to process client-queue instead of permanent queue runners $$