ForkEachJob
Process queue files individually All versions
On machines with a small amount of memory (such as
3B1s and old Sun 3s), it is best to limit the size
of running processes. One way to do this is to have
the sendmail program
fork(2) a copy of itself to
handle each individual queued message. The ForkEachJob
option can
be used to allow those
fork(2)s.
The forms of the ForkEachJob
option are as
follows:
O ForkEachJob=bool ← configuration file (V8.7 and later) -OForkEachJob=bool ← command line (V8.7 and later) define(`confSEPARATE_PROC',bool) ← mc configuration (V8.7 and later) OYbool ← configuration file (deprecated) -oYbool ← command line (deprecated)
The argument bool
is of
type Boolean. If
bool
is missing, the
default is true (fork). The default for the
mc technique is false (don’t
fork). If the entire ForkEachJob
option is missing, the
default is also false (don’t fork).
If the ForkEachJob
option is set (true), there is a
fork(2) to start processing
of the queue, and then another
fork(2) to process each
message in the queue. If the ForkEachJob
option is
not set (false), only the initial
fork(2) takes place, greatly
improving the efficiency of a queue run. For
example, a single process (as with ForkEachJob
false)
retains information about down hosts and so does not
waste time trying to connect again for subsequent
mail to the same host during the current queue run.
For all modern machines, the ForkEachJob
option
should be false.
Note that V8.12 has further reduced the need to ...
Get sendmail, 4th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.