master - Postfix master process
master [-Ddtvw] [-c config_dir] [-e exit_time]
(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
The behavior of the master
(8) daemon is controlled by the
configuration file, as described in master
- -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
- 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.
- Do not redirect stdin, stdout or stderr to /dev/null, and
do not discard the controlling terminal. This must be used for debugging
- -e exit_time
- Terminate the master process after exit_time
seconds. Child processes terminate at their convenience.
- 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
- Enable verbose logging for debugging purposes. This option
is passed on to child processes. Multiple -v options make the
software increasingly verbose.
- 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.
- 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
- 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
Problems are reported to syslogd
(8). The exit status is non-zero in case
of problems, including problems while initializing as a master daemon process
in the background.
- After initialization, start a debugger as specified with
the debugger_command configuration parameter in the main.cf
- 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
- 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.
- config_directory (see 'postconf -d' output)
- The default location of the Postfix main.cf and master.cf
- daemon_directory (see 'postconf -d' output)
- The directory with Postfix support programs and daemon
- debugger_command (empty)
- The external command to execute when a Postfix daemon
program is invoked with the -D option.
- inet_interfaces (all)
- The network interface addresses that this mail system
receives mail on.
- inet_protocols (all)
- The Internet protocols Postfix will attempt to use when
making or accepting connections.
- import_environment (see 'postconf -d' output)
- The list of environment parameters that a Postfix process
will import from a non-Postfix parent process.
- mail_owner (postfix)
- The UNIX system account that owns the Postfix queue and
most Postfix daemon processes.
- process_id (read-only)
- The process ID of a Postfix command or daemon process.
- process_name (read-only)
- The process name of a Postfix command or daemon
- queue_directory (see 'postconf -d' output)
- The location of the Postfix top-level queue directory.
- syslog_facility (mail)
- The syslog facility of Postfix logging.
- syslog_name (see 'postconf -d' output)
- A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes
To expand the directory names below into their actual values, use the command
" postconf config_directory
$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.
qmgr(8), queue manager
verify(8), address verification
master(5), master.cf configuration file syntax
postconf(5), main.cf configuration file syntax
syslogd(8), system logging
The Secure Mailer license must be distributed with this software.
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
111 8th Avenue
New York, NY 10011, USA