Re: [Exim] Safe Kill

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: James Greenhalgh
CC: robert rotman, Exim-Users, Marius Vincent
Subject: Re: [Exim] Safe Kill
On Thu, 18 May 2000, James Greenhalgh wrote:

> Kill the master exim process.


**** Please do not use that terminology. ****

Exim does not have a "master daemon". Exim has no central "master"
process - it is entirely distributed. (That is one of the reasons it
scales fairly well - no central process to be a bottleneck.) The daemon
process (if there is one - you can run Exim perfectly happily without,
using inetd and cron instead) just listens for incoming SMTP and/or
starts queue runners periodically. It has no controlling function!

Because there is no master process, there is no concept of "stopping
Exim" in a single go.

If you really want to stop all mail delivery, you have to kill the
daemon, AND add

queue_only

to the Exim configuration file, so that incoming mail from local
processes is queued and not delivered.

If you want to stop mail from being accepted from local processes, I
guess you have to rm /usr/sbin/sendmail or /usr/lib/sendmail. Or maybe
do some fudge like setting

check_spool_space = 1000000M

> /some_path/exim/bin/exiwhat
>
> That will list what all the various exim processes are doing. Just kill off
> the one with 'daemon' next to it in the output. The others will simply finish
> whatever they were doing as normal - gracefully, which is what you want.


True, but local processes can start new ones.

As was also pointed out, if you just want to update Exim's
configuration, all you need to do is to HUP the daemon. You don't need
to stop the whole mail delivery.

-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.