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

# [NAME](#NAME)

master - Postfix master process

# [SYNOPSIS](#SYNOPSIS)

```
master [-Dditvw] [-c config_dir] [-e exit_time]
```

# [DESCRIPTION](#DESCRIPTION)

The [**master**(8)](/man/os/postfix/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)](/man/os/postfix/master.8) daemon is controlled by the **master.cf** configuration file, as described in [**master**(5)](/man/os/postfix/master.5).

Options:

[**-c config\_dir**](#c)

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**](#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**](#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**](#e)

Terminate the master process after *exit\_time* seconds. Child processes terminate at their convenience.

[**-i**](#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**](#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**](#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)](/man/os/postfix/master.8) daemon is not running.

[**-v**](#v)

Enable verbose logging for debugging purposes. This option is passed on to child processes. Multiple **-v** options make the software increasingly verbose.

[**-w**](#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**](#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**](#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](#DIAGNOSTICS)

Problems are reported to [**syslogd**(8)](/man/os/postfix/syslogd.8) or [**postlogd**(8)](/man/os/postfix/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](#ENVIRONMENT)

```

```

[**MAIL\_DEBUG**](#MAIL_DEBUG)

After initialization, start a debugger as specified with the **debugger\_command** configuration parameter in the **main.cf** configuration file.

[**MAIL\_CONFIG**](#MAIL_CONFIG)

Directory with Postfix configuration files.

# [CONFIGURATION PARAMETERS](#CONFIGURATION_PARAMETERS)

```

```

Unlike most Postfix daemon processes, the [**master**(8)](/man/os/postfix/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](#RESOURCE_AND_RATE_CONTROLS)

```

```

[**default\_process\_limit (100)**](#default_process_limit)

The default maximal number of Postfix child processes that provide a given service.

[**max\_idle (100s)**](#max_idle)

The maximum amount of time that an idle Postfix daemon process waits for an incoming connection before terminating voluntarily.

[**max\_use (100)**](#max_use)

The maximal number of incoming connections that a Postfix daemon process will service before terminating voluntarily.

[**service\_throttle\_time (60s)**](#service_throttle_time)

How long the Postfix [**master**(8)](/man/os/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)**](#master_service_disable)

Selectively disable [**master**(8)](/man/os/postfix/master.8) listener ports by service type or by service name and type.

# [MISCELLANEOUS CONTROLS](#MISCELLANEOUS_CONTROLS)

```

```

[**config\_directory (see 'postconf -d' output)**](#config_directory)

The default location of the Postfix main.cf and master.cf configuration files.

[**daemon\_directory (see 'postconf -d' output)**](#daemon_directory)

The directory with Postfix support programs and daemon programs.

[**debugger\_command (empty)**](#debugger_command)

The external command to execute when a Postfix daemon program is invoked with the -D option.

[**inet\_interfaces (all)**](#inet_interfaces)

The local network interface addresses that this mail system receives mail on.

[**inet\_protocols (see 'postconf -d' output)**](#inet_protocols)

The Internet protocols Postfix will attempt to use when making or accepting connections.

[**import\_environment (see 'postconf -d' output)**](#import_environment)

The list of environment variables that a privileged Postfix process will import from a non-Postfix parent process, or name=value environment overrides.

[**mail\_owner (postfix)**](#mail_owner)

The UNIX system account that owns the Postfix queue and most Postfix daemon processes.

[**process\_id (read-only)**](#process_id)

The process ID of a Postfix command or daemon process.

[**process\_name (read-only)**](#process_name)

The process name of a Postfix command or daemon process.

[**queue\_directory (see 'postconf -d' output)**](#queue_directory)

The location of the Postfix top-level queue directory.

[**syslog\_facility (mail)**](#syslog_facility)

The syslog facility of Postfix logging.

[**syslog\_name (see 'postconf -d' output)**](#syslog_name)

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)**](#service_name)

The master.cf service name of a Postfix daemon process.

Available in Postfix 3.6 and later:

[**known\_tcp\_ports (lmtp=24, smtp=25, smtps=submissions=465, submission=587)**](#known_tcp_ports)

Optional setting that avoids lookups in the [**services**(5)](/man/os/postfix/services.5) database.

# [FILES](#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](#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](#LICENSE)

```

```

The Secure Mailer license must be distributed with this software.

# [AUTHOR(S)](#AUTHOR%28S%29)

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

---

Document: master(8) from postfix 3.11.7-r1 (Chainguard OS)
Source: https://github.com/vdukhovni/postfix
