MASTER(8) System Manager's Manual MASTER(8)
NAME
master - Postfix master process
SYNOPSIS
master [-Dditvw] [-c config_dir] [-e exit_time]
DESCRIPTION
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 man-
ager, 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 debug-
ging only.
-e exit_time
Terminate the master process after exit_time seconds. Child pro-
cesses 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 soft-
ware 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 reason-
able 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.
DIAGNOSTICS
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.
ENVIRONMENT
MAIL_DEBUG
After initialization, start a debugger as specified with the
debugger_command configuration parameter in the main.cf configu-
ration file.
MAIL_CONFIG
Directory with Postfix configuration files.
CONFIGURATION PARAMETERS
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.
RESOURCE AND RATE CONTROLS
default_process_limit (100)
The default maximal number of Postfix child processes that pro-
vide 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.
MISCELLANEOUS CONTROLS
config_directory (see 'postconf -d' output)
The default location of the Postfix main.cf and master.cf con-
figuration files.
daemon_directory (see 'postconf -d' output)
The directory with Postfix support programs and daemon programs.
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 privileged Postfix
process will import from a non-Postfix parent process, or
name=value environment overrides.
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 process.
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 "prefix/smtpd".
Available in Postfix 3.3 and later:
service_name (read-only)
The master.cf service name of a Postfix daemon process.
FILES
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.
SEE ALSO
qmgr(8), queue manager
verify(8), address verification
master(5), master.cf configuration file syntax
postconf(5), main.cf configuration file syntax
postlogd(8), Postfix logging
syslogd(8), system logging
LICENSE
The Secure Mailer license must be distributed with this software.
AUTHOR(S)
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
MASTER(8)