---
name: "cyrus-master"
section: "8"
platform: "linux"
package: "cyrus-common"
version: "3.10.2-1+deb13u2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/cyrus-master"
---

# cyrus-master(8)

Cyrus IMAP documentation The Cyrus IMAP master process.

## NAME

master - Cyrus IMAP documentation

The Cyrus IMAP master process.

## SYNOPSIS

```
master [ -C config-file ] [ -M alternate cyrus.conf ]
    [ -l listen queue ] [ -p pidfile ] [ -r ready_file ]
    [ -j janitor period ] [ -d | -D ] [ -L logfile ]
```

## DESCRIPTION

**master** *is the process that controls all of the Cyrus* *processes. This process is responsible for creating all imapd, pop3d,* *lmtpd and timsieved child processes. This process also performs scheduled* *cleanup/maintenance.*

*If this process dies, then no new sessions will be started.*

*It kills itself and all child processes when it receives a SIGTERM.*

**master** *reads its configuration options out of the [imapd.conf(5)](/imapd.conf/5.md) file unless specified otherwise by* **-C***.*

## OPTIONS

- **-C alternate imapd.conf**

  *Use the specified configuration file config-file rather than the default [imapd.conf(5)](/imapd.conf/5.md).*

- **-M alternate cyrus.conf**

  *Specifies an alternate cyrus.conf for use by master.*

- **-l listen queue backlog**

  *Increase the listen queue backlog. By default, the listen queue is* *set to 32.   On systems with a high connection rate, it may be* *desirable to increase this value. refer to* **[listen(2)](/listen/2.md)** *for* *details.*

- **-j janitor full-sweeps per second**

  *Sets the number of times per second the janitor should sweep the* *entire child table.  Leave it at the default of 1 unless you have a* *really high fork rate (and you have not increased the child hash* *table size when you compiled Cyrus from its default of 10000* *entries).*

- **-p pidfile**

  *Use pidfile as the pidfile.  If not specified, defaults to* **master\_pid\_file** *from [imapd.conf(5)](/imapd.conf/5.md), which* *defaults to* **{configdirectory}/master.pid**

- **-r ready\_file**

  *Use ready\_file as the ready file.  If not specified, uses* **master\_ready\_file** *from [imapd.conf(5)](/imapd.conf/5.md), which* *defaults to* **{configdirectory}/master.ready**

- **-d**

  *Start in daemon mode (run in background and disconnect from* *controlling terminal).*

- **-D**

  *Don't close stdin/stdout/stderr. Primarily useful for debugging.* *Note that* **-d** *and* **-D** *cannot be used together; consider using* **-L** *instead.*

- **-L logfile**

  *Redirect stdout and stderr to the given logfile.*

## CONFIGURATION

*Upon execution,* **master** *reads its configuration information* *out of the [cyrus.conf(5)](/cyrus.conf/5.md) file, or an alternative if* **-M** *is used.*

**master** *rereads its configuration file when it receives a* *hangup signal, SIGHUP.  Services and events may be added, deleted or* *modified when the configuration file is reread.  Any active services* *removed from the configuration file will be allowed to run until* *completion.  Services added or modified to listen on a privileged port* *may not be able to bind the port, depending on your system* *configuration.  In this case a full restart is needed.*

**master** *propagates the hangup signal, SIGHUP, to its child* *service processes, so that they stop waiting for incoming connections* *and exit, allowing them to be recycled.  This is useful to make* *services take into account a new version of the* *[imapd.conf(5)](/imapd.conf/5.md) file.  Children that are servicing a client* *connection when SIGHUP is received are allowed to run until the client* *logouts before being recycled. It may take a long time until the client* *logouts, so a log message is generated for processes that have not been* *recycled within 30s.*

## NOTES

*The environment variable* **CYRUS\_VERBOSE** *can be set to log additional* *debugging information. Setting the value to 1 results in base level logging.* *Setting it higher results in more log messages being generated.*

*The cyr\_info(8) utility's* **proc** *subcommand can be used to* *list the active processes that* **master** *is managing.*

## FILES

*/etc/cyrus.conf,* */etc/imapd.conf,* */var/run/master.pid*

## SEE ALSO

*[cyrus.conf(5)](/cyrus.conf/5.md), [imapd.conf(5)](/imapd.conf/5.md), [imapd(8)](/imapd/8.md),* *[pop3d(8)](/pop3d/8.md), [lmtpd(8)](/lmtpd/8.md), [timsieved(8)](/timsieved/8.md),* *[idled(8)](/idled/8.md), cyr\_info(8)*

## AUTHOR

*The Cyrus Team, Nic Bernstein (Onlight)*

## COPYRIGHT

*1993–2025, The Cyrus Team*
