master − Postfix master process


master [-Ddtvw] [-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 configuration file, as described in master(5).


Read the and configuration files in the named directory instead of the default configuration directory. This also overrides the configuration files for other Postfix daemon processes.


After initialization, run a debugger on the master process. The debugging command is specified with the debugger_command in the 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 only.

-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 lock file does not exist or when that file is not locked. This is evidence that the master(8) daemon is not running.


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 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.


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). 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 configuration file.


Directory with Postfix configuration files.


Unlike most Postfix daemon processes, the master(8) server does not automatically pick up changes to Changes to 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.


config_directory (see ’postconf -d’ output)

The default location of the Postfix and configuration 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 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 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)

The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd".


To expand the directory names below into their actual values, use the command "postconf config_directory" etc.

$config_directory/, global configuration file.
$config_directory/, master server configuration file.
$queue_directory/pid/, master lock file.
$data_directory/master.lock, master lock file.


qmgr(8), queue manager
verify(1ssl), address verification
master(5), configuration file syntax
postconf(1), configuration file syntax
syslogd(8), system logging


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


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.