Installing qmHandle didn't cause the problem; deleting messages from the queue causes it.
Here's what I think happens:
qmHandle -Sfailure\ notice to kill the undeliverable bounce messages in my queue.
2. qmHandle sends a kill signal to qmail
3. qmHandle deletes all the messages in /var/qmail/queue/mess with the specified subject ("failure notice").
4. qmHandle issues a start command to qmail[/list]
Usually, it works fine.
Sometimes, however, qmail is occupied with an open smtp connection. If that connection hasn't closed before the "start" command is sent in step 4, qmHandle displays a message saying something like "qmail is already running, not restarting".
This sounds fine, but if I run
/etc/init.d/qmail status it says "/service/qmail: run ...wants down...", and as soon as the last open connection closes it gets what it wants and qmail does indeed shut down...
What I did to fix this was 1) remove the cron job I had scheduled to clear out these bounces regularly (probably a bad idea to start with...), and 2) always monitor qmail after deleting messages with qmHandle. I run
/etc/init.d/qmail start or
/etc/init.d/qmail restart until
/etc/init.d/qmail status does
not say "...wants down..."
(My examples all involve the command line, but the same behavior is possible when deleting messages from the server-manager panel. If you are only using the server-manager you could monitor and restart qmail using Landry's
sme7admin contrib)