Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, July 27, 2022

master (8)


master - Postfix master process


master [-Ddtvw] [-c config_dir] [-e exit_time]


MASTER(8)                   System Manager's Manual                  MASTER(8)

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


       -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

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

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


       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.

              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 main.cf configu-
              ration file.

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

       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 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)
              A prefix that  is  prepended  to  the  process  name  in  syslog
              records, so that, for example, "smtpd" becomes "prefix/smtpd".

       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 attributes(7) for descriptions of the following attributes:

       |ATTRIBUTE TYPE |       ATTRIBUTE VALUE        |
       |Availability   | service/network/smtp/postfix |
       |Stability      | Volatile                     |

       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.

       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

       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from  https://archive.mgm51.com/mirrors/postfix-

       Further information about this software can be found on the open source
       community website at http://www.postfix.org.