{
  "description": "Start a program detached as a daemon, optionally as a named, respawning instance with log files. Management of existing named daemons (--running, --stop, --restart, --signal, --list), config-file and chroot options are left out.",
  "options": [
    {
      "names": [
        "--name",
        "-n"
      ],
      "description": "Guarantee a single named instance; also needed to manage it later.",
      "args": {
        "name": "name",
        "description": "Guarantee a single named instance; also needed to manage it later.",
        "isOptional": false
      }
    },
    {
      "names": [
        "--pidfile",
        "-F"
      ],
      "description": "Pidfile",
      "args": {
        "name": "pidfile",
        "isOptional": false,
        "template": "filepaths"
      },
      "isDangerous": true
    },
    {
      "names": [
        "--user",
        "-u"
      ],
      "description": "Run as user[:group]",
      "args": {
        "name": "user",
        "isOptional": false
      }
    },
    {
      "names": [
        "--chdir",
        "-D"
      ],
      "description": "Working directory",
      "args": {
        "name": "chdir",
        "isOptional": false,
        "template": "folders"
      }
    },
    {
      "names": [
        "--env",
        "-e"
      ],
      "description": "var=val; repeat to set several.",
      "args": {
        "name": "env",
        "description": "var=val; repeat to set several.",
        "isOptional": false,
        "isVariadic": true
      },
      "isRepeatable": true
    },
    {
      "names": [
        "--inherit",
        "-i"
      ],
      "description": "Inherit environment"
    },
    {
      "names": [
        "--respawn",
        "-r"
      ],
      "description": "Respawn when it exits"
    },
    {
      "names": [
        "--attempts",
        "-A"
      ],
      "description": "Respawn attempts before delay",
      "args": {
        "name": "attempts",
        "isOptional": false
      }
    },
    {
      "names": [
        "--delay",
        "-L"
      ],
      "description": "Delay between bursts (seconds)",
      "args": {
        "name": "delay",
        "isOptional": false
      }
    },
    {
      "names": [
        "--foreground",
        "-f"
      ],
      "description": "Run client in foreground"
    },
    {
      "names": [
        "--errlog",
        "-l"
      ],
      "description": "syslog spec or file.",
      "args": {
        "name": "errlog",
        "description": "syslog spec or file.",
        "isOptional": false
      }
    },
    {
      "names": [
        "--output",
        "-o"
      ],
      "description": "syslog spec or file.",
      "args": {
        "name": "output",
        "description": "syslog spec or file.",
        "isOptional": false
      }
    },
    {
      "names": [
        "--verbose",
        "-v"
      ],
      "description": "Verbose"
    }
  ],
  "args": [
    {
      "name": "command",
      "isOptional": true,
      "isVariadic": true
    }
  ],
  "name": "daemon"
}
