master - Postfix master process
master [-Dditvw] [-c config_dir] [-e exit_time]
The master(8) daemon is the resident process that runs
Postfix daemons on demand: daemons to send or receive messages via the
network, daemons to deliver mail locally, etc. These daemons are created on
demand up to a configurable maximum number per service.
Postfix daemons terminate voluntarily, either after being idle for
a configurable amount of time, or after having serviced a configurable
number of requests. Exceptions to this rule are the resident queue manager,
address verification server, and the TLS session cache and pseudo-random
number server.
The behavior of the master(8) daemon is controlled by the
master.cf configuration file, as described in master(5).
Options:
- -c config_dir
- Read the main.cf and master.cf configuration files in the
named directory instead of the default configuration directory. This also
overrides the configuration files for other Postfix daemon processes.
- -D
- After initialization, run a debugger on the master process. The debugging
command is specified with the debugger_command in the
main.cf global configuration file.
- -d
- Do not redirect stdin, stdout or stderr to /dev/null, and do not discard
the controlling terminal. This must be used for debugging only.
- -e exit_time
- Terminate the master process after exit_time seconds. Child
processes terminate at their convenience.
- -i
- Enable init mode: do not become a session or process group leader;
and similar to -s, do not redirect stdout to /dev/null, so that
"maillog_file = /dev/stdout" works. This mode is allowed only if
the process ID equals 1.
This feature is available in Postfix 3.3 and later.
- -s
- Do not redirect stdout to /dev/null, so that "maillog_file =
/dev/stdout" works.
This feature is available in Postfix 3.4 and later.
- -t
- Test mode. Return a zero exit status when the master.pid lock file
does not exist or when that file is not locked. This is evidence that the
master(8) daemon is not running.
- -v
- Enable verbose logging for debugging purposes. This option is passed on to
child processes. Multiple -v options make the software increasingly
verbose.
- -w
- Wait in a dummy foreground process, while the real master daemon
initializes in a background process. The dummy foreground process returns
a zero exit status only if the master daemon initialization is successful,
and if it completes in a reasonable amount of time.
This feature is available in Postfix 2.10 and later.
Signals:
- SIGHUP
- Upon receipt of a HUP signal (e.g., after "postfix
reload"), the master process re-reads its configuration files. If
a service has been removed from the master.cf file, its running
processes are terminated immediately. Otherwise, running processes are
allowed to terminate as soon as is convenient, so that changes in
configuration settings affect only new service requests.
- SIGTERM
- Upon receipt of a TERM signal (e.g., after "postfix
abort"), the master process passes the signal on to its child
processes and terminates. This is useful for an emergency shutdown.
Normally one would terminate only the master ("postfix
stop") and allow running processes to finish what they are
doing.
Problems are reported to syslogd(8) or postlogd(8).
The exit status is non-zero in case of problems, including problems while
initializing as a master daemon process in the background.
- MAIL_DEBUG
- After initialization, start a debugger as specified with the
debugger_command configuration parameter in the main.cf
configuration file.
- MAIL_CONFIG
- Directory with Postfix configuration files.
Unlike most Postfix daemon processes, the master(8) server
does not automatically pick up changes to main.cf. Changes to
master.cf are never picked up automatically. Use the "postfix
reload" command after a configuration change.
- default_process_limit
(100)
- The default maximal number of Postfix child processes that provide a given
service.
- max_idle
(100s)
- The maximum amount of time that an idle Postfix daemon process waits for
an incoming connection before terminating voluntarily.
- max_use
(100)
- The maximal number of incoming connections that a Postfix daemon process
will service before terminating voluntarily.
- service_throttle_time
(60s)
- How long the Postfix master(8) waits before forking a server that
appears to be malfunctioning.
Available in Postfix version 2.6 and later:
- master_service_disable
(empty)
- Selectively disable master(8) listener ports by service type or by
service name and type.
To expand the directory names below into their actual values, use
the command "postconf config_directory" etc.
$config_directory/main.cf, global configuration file.
$config_directory/master.cf, master server configuration file.
$queue_directory/pid/master.pid, master lock file.
$data_directory/master.lock, master lock file.
The Secure Mailer license must be distributed with this
software.
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
Wietse Venema
Google, Inc.
111 8th Avenue
New York, NY 10011, USA