See “sendmail: queue runner” as a process after running SOME sendmail commands but not others

email-serversendmail

I'm in the process of trying to troubleshoot some queue processing issues in SendMail and am confused on why I'm seeing references in ps output following SOME sendmail commands but not others.

I have a 8.14.x sendmail server and I presently have a couple operations going on:

/usr/sbin/sendmail -L Foo_Instance -Ac -q 5m -C /etc/foo/mail/Foo_Instance/submit.cf

When I launch this, and then check running processes, I see:

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

That's all fine I suppose, but if I stop everything and I run:

/usr/sbin/sendmail -bd -q5m -L Foo_Instance -C /etc/foo/mail/Foo_Instance/sendmail.cf 

…and then check running processes, I see:

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

The key difference here being that I don't see "Queue runner" in the ps output. Why don't I see separate processes both time? Or neither time?

Even if I don't see the queue runner process, I see indications in the logs that the queues are being retried.

At first, I thought it might be happening because have an erroneous space after -q. But the behavior still happens even if I run

/usr/sbin/sendmail -L Foo_Instance -Ac -q5m -C /etc/foo/mail/Foo_Instance/submit.cf

I thought that perhaps "Queue runner@xx:xx:xx" could be an indication that the queue runner is a persistent queue runner but the batbook indicates that a persistent runner process would have the word "running" in it:

root 22947 512 ? S 08:32 0:00 sendmail: running queue: /var/spool/mqueues/
q.1/df

Best Answer

  1. sendmail -bd -q5m starts main daemon process (sendmail: accepting connections). The daemon process will spawn queue runner process for one time queue run when needed.

  2. You need separate command to start client-queue runner process (sendmail: Queue runner@00:05:00 for /var/spool/clientmqueue). The client-queue runner behavior is controlled by submit.cf not by sendmail.cf.
    [Some setups use periodic "single run" cron jobs to process client-queue instead of permanent queue runners]

Related Topic