{
    "content": [
        {
            "type": "text",
            "text": "# SPAWN (info)\n\n## NAME\n\nspawn - Postfix external command spawner\n\n## SYNOPSIS\n\nspawn [generic Postfix daemon options] commandattributes...\n\n## DESCRIPTION\n\nThe  spawn(8) daemon provides the Postfix equivalent of inetd.  It lis-\ntens on a port as specified in the Postfix master.cf file and spawns an\nexternal  command whenever a connection is established.  The connection\ncan be made over local  IPC  (such  as  UNIX-domain  sockets)  or  over\nnon-local  IPC  (such  as  TCP sockets).  The command's standard input,\noutput and error streams are connected directly  to  the  communication\nendpoint.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **COMMAND ATTRIBUTE SYNTAX**\n- **BUGS**\n- **DIAGNOSTICS**\n- **SECURITY**\n- **CONFIGURATION PARAMETERS**\n- **RESOURCE AND RATE CONTROL**\n- **MISCELLANEOUS**\n- **SEE ALSO**\n- **LICENSE**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "SPAWN",
        "section": "",
        "mode": "info",
        "summary": "spawn - Postfix external command spawner",
        "synopsis": "spawn [generic Postfix daemon options] commandattributes...",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "postconf",
                "section": "5",
                "url": "https://www.chedong.com/phpMan.php/man/postconf/5/json"
            },
            {
                "name": "master",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/master/8/json"
            },
            {
                "name": "postlogd",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/postlogd/8/json"
            },
            {
                "name": "syslogd",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/syslogd/8/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 10,
                "subsections": []
            },
            {
                "name": "COMMAND ATTRIBUTE SYNTAX",
                "lines": 18,
                "subsections": []
            },
            {
                "name": "BUGS",
                "lines": 6,
                "subsections": []
            },
            {
                "name": "DIAGNOSTICS",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "SECURITY",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "CONFIGURATION PARAMETERS",
                "lines": 10,
                "subsections": []
            },
            {
                "name": "RESOURCE AND RATE CONTROL",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "MISCELLANEOUS",
                "lines": 49,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "LICENSE",
                "lines": 14,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "spawn - Postfix external command spawner\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "spawn [generic Postfix daemon options] commandattributes...\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "The  spawn(8) daemon provides the Postfix equivalent of inetd.  It lis-\ntens on a port as specified in the Postfix master.cf file and spawns an\nexternal  command whenever a connection is established.  The connection\ncan be made over local  IPC  (such  as  UNIX-domain  sockets)  or  over\nnon-local  IPC  (such  as  TCP sockets).  The command's standard input,\noutput and error streams are connected directly  to  the  communication\nendpoint.\n\nThis daemon expects to be run from the master(8) process manager.\n",
                "subsections": []
            },
            "COMMAND ATTRIBUTE SYNTAX": {
                "content": "The  external command attributes are given in the master.cf file at the\nend of a service definition.  The syntax is as follows:\n\nuser=username (required)\n\nuser=username:groupname\nThe external command is executed with the rights of  the  speci-\nfied  username.   The  software refuses to execute commands with\nroot privileges, or with  the  privileges  of  the  mail  system\nowner.  If groupname is specified, the corresponding group ID is\nused instead of the group ID of username.\n\nargv=command... (required)\nThe command to be executed. This must be specified as  the  last\ncommand attribute.  The command is executed directly, i.e. with-\nout interpretation of shell meta characters by a  shell  command\ninterpreter.\n",
                "subsections": []
            },
            "BUGS": {
                "content": "In  order  to  enforce  standard Postfix process resource controls, the\nspawn(8) daemon runs only one external command at a time.  As such,  it\npresents  a  noticeable overhead by wasting precious process resources.\nThe spawn(8) daemon is expected to be replaced by a more structural so-\nlution.\n",
                "subsections": []
            },
            "DIAGNOSTICS": {
                "content": "The  spawn(8) daemon reports abnormal child exits.  Problems are logged\nto syslogd(8) or postlogd(8).\n",
                "subsections": []
            },
            "SECURITY": {
                "content": "This program needs root privilege in order to execute external commands\nas the specified user. It is therefore security sensitive.  However the\nspawn(8) daemon does not talk to the external command and thus  is  not\nvulnerable to data-driven attacks.\n",
                "subsections": []
            },
            "CONFIGURATION PARAMETERS": {
                "content": "Changes  to  main.cf  are picked up automatically as spawn(8) processes\nrun for only a limited amount of time. Use the command \"postfix reload\"\nto speed up a change.\n\nThe  text  below provides only a parameter summary. See postconf(5) for\nmore details including examples.\n\nIn the text below, transport is the first field of  the  entry  in  the\nmaster.cf file.\n",
                "subsections": []
            },
            "RESOURCE AND RATE CONTROL": {
                "content": "transporttimelimit ($commandtimelimit)\nA transport-specific override for the commandtimelimit parame-\nter value, where transport is the master.cf name of the  message\ndelivery transport.\n",
                "subsections": []
            },
            "MISCELLANEOUS": {
                "content": "configdirectory (see 'postconf -d' output)\nThe  default  location of the Postfix main.cf and master.cf con-\nfiguration files.\n\ndaemontimeout (18000s)\nHow much time a Postfix daemon process may take to handle a  re-\nquest before it is terminated by a built-in watchdog timer.\n\nexportenvironment (see 'postconf -d' output)\nThe  list  of  environment variables that a Postfix process will\nexport to non-Postfix processes.\n\nipctimeout (3600s)\nThe time limit for sending or receiving information over an  in-\nternal communication channel.\n\nmailowner (postfix)\nThe  UNIX  system  account  that owns the Postfix queue and most\nPostfix daemon processes.\n\nmaxidle (100s)\nThe maximum amount of time that an idle Postfix  daemon  process\nwaits for an incoming connection before terminating voluntarily.\n\nmaxuse (100)\nThe maximal number of incoming connections that a Postfix daemon\nprocess will service before terminating voluntarily.\n\nprocessid (read-only)\nThe process ID of a Postfix command or daemon process.\n\nprocessname (read-only)\nThe process name of a Postfix command or daemon process.\n\nqueuedirectory (see 'postconf -d' output)\nThe location of the Postfix top-level queue directory.\n\nsyslogfacility (mail)\nThe syslog facility of Postfix logging.\n\nsyslogname (see 'postconf -d' output)\nA prefix that  is  prepended  to  the  process  name  in  syslog\nrecords, so that, for example, \"smtpd\" becomes \"prefix/smtpd\".\n\nAvailable in Postfix 3.3 and later:\n\nservicename (read-only)\nThe master.cf service name of a Postfix daemon process.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "postconf(5), configuration parameters\nmaster(8), process manager\npostlogd(8), Postfix logging\nsyslogd(8), system logging\n",
                "subsections": []
            },
            "LICENSE": {
                "content": "The Secure Mailer license must be distributed with this software.\n\nAUTHOR(S)\nWietse Venema\nIBM T.J. Watson Research\nP.O. Box 704\nYorktown Heights, NY 10598, USA\n\nWietse Venema\nGoogle, Inc.\n111 8th Avenue\nNew York, NY 10011, USA\n\nSPAWN(8postfix)",
                "subsections": []
            }
        }
    }
}