Email-Server

為什麼在執行一些 sendmail 命令而不是其他命令後,我將“sendmail:queue runner”視為一個程序?

  • November 22, 2015

我正在嘗試對 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
  1. sendmail -bd -q5m啟動主守護程序 ( sendmail: accepting connections)。守護程序將在需要時生成隊列執行器程序一次隊列執行。
  2. 您需要單獨的命令來啟動客戶端隊列執行器程序 ( sendmail: Queue runner@00:05:00 for /var/spool/clientmqueue)。客戶端隊列執行器行為由submit.cfnot by控制sendmail.cf

$$ Some setups use periodic “single run” cron jobs to process client-queue instead of permanent queue runners $$

引用自:https://serverfault.com/questions/737699