exim_lock - Mailbox maintenance


exim_lock [ options ] mailbox-file



exim_lock utility locks a mailbox file using the same algorithm as Exim. For a discussion of locking issues, see section 25.2.

exim_lock can be used to prevent any modification of a mailbox by Exim or a user agent while investigating a problem. The utility requires the name of the file as its first argument. If the locking is successful, the second argument is run as a command (using C's « system() » function); if there is no second argument, the value of the SHELL environment variable is used; if this is unset or empty, /bin/sh is run. When the command finishes, the mailbox is unlocked and the utility ends. The following options are available:

  • -fcntl
        Use « fcntl() » locking on the open mailbox.
  • -interval
        This must be followed by a number, which is a number of seconds; it sets the interval to sleep between retries (default 3).
  • -lockfile
        Create a lock file before opening the mailbox.
  • -mbx
        Lock the mailbox using MBX rules.
  • -q
        Suppress verification output.
  • -retries
        This must be followed by a number; it sets the number of times to try to get the lock (default 10).
  • -timeout
        This must be followed by a number, which is a number of seconds; it sets a timeout to be used with a blocking « fcntl() » lock. If it is not set (the default), a non-blocking call is used.
  • -v
        Generate verbose output. If none of -fcntl, -lockfile or -mbx are given, the default is to create a lock file and also use « fcntl() » locking on the mailbox, which is the same as

Exim's default. The use of -fcntl requires that the file be writable; the use of -lockfile requires that the directory containing the file be writable. Locking by lock file does not last for ever; Exim assumes that a lock file is expired if it is more than 30 minutes old. The -mbx option is mutually exclusive with -fcntl. It causes a shared lock to be taken out on the open mailbox, and an exclusive lock on the file /tmp/.n.m where n and m are the device number and inode number of the mailbox file. When the locking is released, if an exclusive lock can be obtained for the mailbox, the file in /tmp is deleted. The default output contains verification of the locking that takes place. The -v option causes some additional information to be given. The -q option suppresses all output except error messages.

A command such as exim_lock /var/spool/mail/spqr runs an interactive shell while the file is locked, whereas exim_lock -q /var/spool/mail/spqr <<End <some commands> End runs a specific non-interactive sequence of commands while the file is locked, suppressing all verification output. A single command can be run by a command such as exim_lock -q /var/spool/mail/spqr \ "cp /var/spool/mail/spqr /some/where" Note that if a command is supplied, it must be entirely contained within the second argument - hence the quotes.


This manual page needs a major re-work. If somebody knows better groff than us and has more experience in writing manual pages, any patches would be greatly appreciated.


R exim (8), /usr/share/doc/exim4-base/


This manual page was stitched together from spec.txt by Andreas Metzler <ametzler at downhill.at.eu.org>, for the Debian GNU/Linux system (but may be used by others).