# spawn(8) - man - phpMan

[SPAWN(8postfix)](https://www.chedong.com/phpMan.php/man/SPAWN/8postfix/markdown)                                                                      [SPAWN(8postfix)](https://www.chedong.com/phpMan.php/man/SPAWN/8postfix/markdown)



## NAME
       spawn - Postfix external command spawner

## SYNOPSIS
       **spawn** [generic Postfix daemon options] command_attributes...

## DESCRIPTION
       The [**spawn**(8)](https://www.chedong.com/phpMan.php/man/spawn/8/markdown) daemon provides the Postfix equivalent of **inetd**.  It listens on a port as speci‐
       fied in the Postfix **master.cf** file and spawns an external command whenever  a  connection  is
       established.  The connection can be made over local IPC (such as UNIX-domain sockets) or over
       non-local IPC (such as TCP sockets).  The command´s standard input, output and error  streams
       are connected directly to the communication endpoint.

       This daemon expects to be run from the [**master**(8)](https://www.chedong.com/phpMan.php/man/master/8/markdown) process manager.

## COMMAND ATTRIBUTE SYNTAX
       The external command attributes are given in the **master.cf** file at the end of a service defi‐
       nition.  The syntax is as follows:

       **user**=_username_ (required)

       **user**=_username_:_groupname_
              The external command is executed with the rights of the specified _username_.  The soft‐
              ware  refuses  to execute commands with root privileges, or with the privileges of the
              mail system owner. If _groupname_ is specified, the corresponding group ID is  used  in‐
              stead of the group ID of _username_.

       **argv**=_command_... (required)
              The command to be executed. This must be specified as the last command attribute.  The
              command is executed directly, i.e. without interpretation of shell meta characters  by
              a shell command interpreter.

## BUGS
       In order to enforce standard Postfix process resource controls, the [**spawn**(8)](https://www.chedong.com/phpMan.php/man/spawn/8/markdown) daemon runs only
       one external command at a time.  As such, it presents a noticeable overhead by  wasting  pre‐
       cious  process resources. The [**spawn**(8)](https://www.chedong.com/phpMan.php/man/spawn/8/markdown) daemon is expected to be replaced by a more structural
       solution.

## DIAGNOSTICS
       The [**spawn**(8)](https://www.chedong.com/phpMan.php/man/spawn/8/markdown) daemon reports abnormal child exits.  Problems are logged to [**syslogd**(8)](https://www.chedong.com/phpMan.php/man/syslogd/8/markdown) or **post**‐‐
       [**logd**(8)](https://www.chedong.com/phpMan.php/man/logd/8/markdown).

## SECURITY
       This  program  needs  root  privilege  in order to execute external commands as the specified
       user. It is therefore security sensitive.  However the [**spawn**(8)](https://www.chedong.com/phpMan.php/man/spawn/8/markdown) daemon does not talk  to  the
       external command and thus is not vulnerable to data-driven attacks.

## CONFIGURATION PARAMETERS
       Changes  to  **main.cf** are picked up automatically as [**spawn**(8)](https://www.chedong.com/phpMan.php/man/spawn/8/markdown) processes run for only a limited
       amount of time. Use the command "**postfix** **reload**" to speed up a change.

       The text below provides only a parameter summary. See [**postconf**(5)](https://www.chedong.com/phpMan.php/man/postconf/5/markdown) for more details  including
       examples.

       In the text below, _transport_ is the first field of the entry in the **master.cf** file.

## RESOURCE AND RATE CONTROL
       **transport**___**time**___**limit** **($command**___**time**___**limit)**
              A transport-specific override for the command_time_limit parameter value, where _trans__‐
              _port_ is the master.cf name of the message delivery transport.

## MISCELLANEOUS
       **config**___**directory** **(see** **'postconf** **-d'** **output)**
              The default location of the Postfix main.cf and master.cf configuration files.

       **daemon**___**timeout** **(18000s)**
              How much time a Postfix daemon process may take to handle a request before it is  ter‐
              minated by a built-in watchdog timer.

       **export**___**environment** **(see** **'postconf** **-d'** **output)**
              The  list  of  environment variables that a Postfix process will export to non-Postfix
              processes.

       **ipc**___**timeout** **(3600s)**
              The time limit for sending or receiving information  over  an  internal  communication
              channel.

       **mail**___**owner** **(postfix)**
              The UNIX system account that owns the Postfix queue and most Postfix daemon processes.

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

       **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 exam‐
              ple, "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.

## SEE ALSO
       [postconf(5)](https://www.chedong.com/phpMan.php/man/postconf/5/markdown), configuration parameters
       [master(8)](https://www.chedong.com/phpMan.php/man/master/8/markdown), process manager
       [postlogd(8)](https://www.chedong.com/phpMan.php/man/postlogd/8/markdown), Postfix logging
       [syslogd(8)](https://www.chedong.com/phpMan.php/man/syslogd/8/markdown), 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



                                                                                     [SPAWN(8postfix)](https://www.chedong.com/phpMan.php/man/SPAWN/8postfix/markdown)
