{
  "name": "pkill",
  "description": "Send  the  specified  signal  (by default SIGTERM) to each specified process",
  "options": [
    {
      "names": [
        "--signal"
      ],
      "description": "Signal to send (either number or name)",
      "takes_arg": true,
      "arg": {
        "name": "signal",
        "description": "Signal to send",
        "suggestions": [
          "SIGABRT",
          "SIGALRM",
          "SIGBUS",
          "SIGCHLD",
          "SIGCLD",
          "SIGCONT",
          "SIGEMT",
          "SIGFPE",
          "SIGHUP",
          "SIGILL",
          "SIGINFO",
          "SIGINT",
          "SIGIO",
          "SIGIOT",
          "SIGKILL",
          "SIGLOST",
          "SIGPIPE",
          "SIGPOLL",
          "SIGPROF",
          "SIGPWR",
          "SIGQUIT",
          "SIGSEGV",
          "SIGSTKFLT",
          "SIGSTOP",
          "SIGTSTP",
          "SIGSYS",
          "SIGTERM",
          "SIGTRAP",
          "SIGTTIN",
          "SIGTTOU",
          "SIGUNUSED",
          "SIGURG",
          "SIGUSR1",
          "SIGUSR2",
          "SIGVTALRM",
          "SIGXCPU",
          "SIGXFSZ",
          "SIGWINCH"
        ]
      }
    },
    {
      "names": [
        "-q",
        "--queue"
      ],
      "description": "Integer value to be sent with the signal",
      "takes_arg": true,
      "arg": {
        "name": "value"
      }
    },
    {
      "names": [
        "-e",
        "--echo"
      ],
      "description": "Display what is killed"
    },
    {
      "names": [
        "-f",
        "--full"
      ],
      "description": "Use full process name to match"
    },
    {
      "names": [
        "-g",
        "--pgroup"
      ],
      "description": "Match listed process group IDs",
      "takes_arg": true,
      "arg": {
        "name": "PGID",
        "is_variadic": true
      }
    },
    {
      "names": [
        "-G",
        "--group"
      ],
      "description": "Match real group IDs",
      "takes_arg": true,
      "arg": {
        "name": "GID",
        "is_variadic": true
      }
    },
    {
      "names": [
        "-i",
        "--ignore-case"
      ],
      "description": "Match case insensitively"
    },
    {
      "names": [
        "-n",
        "--newest"
      ],
      "description": "Select most recently started"
    },
    {
      "names": [
        "-o",
        "--oldest"
      ],
      "description": "Select least recently started"
    },
    {
      "names": [
        "-O",
        "--older"
      ],
      "description": "Select where older than seconds",
      "takes_arg": true,
      "arg": {
        "name": "seconds"
      }
    },
    {
      "names": [
        "-P",
        "--parent"
      ],
      "description": "Match only child processes of the given parent",
      "takes_arg": true,
      "arg": {
        "name": "PPID",
        "is_variadic": true
      }
    },
    {
      "names": [
        "-s",
        "--session"
      ],
      "description": "Match session IDs",
      "takes_arg": true,
      "arg": {
        "name": "SID",
        "is_variadic": true
      }
    },
    {
      "names": [
        "-t",
        "--terminal"
      ],
      "description": "Match by controlling terminal",
      "takes_arg": true,
      "arg": {
        "name": "tty",
        "is_variadic": true
      }
    },
    {
      "names": [
        "-u",
        "--euid"
      ],
      "description": "Match by effective IDs",
      "takes_arg": true,
      "arg": {
        "name": "ID",
        "is_variadic": true
      }
    },
    {
      "names": [
        "-U",
        "--uid"
      ],
      "description": "Match by real IDs",
      "takes_arg": true,
      "arg": {
        "name": "ID",
        "is_variadic": true
      }
    },
    {
      "names": [
        "-x",
        "--exact"
      ],
      "description": "Match exactly with the command name"
    },
    {
      "names": [
        "-F",
        "--pidfile"
      ],
      "description": "Read PIDs from file",
      "takes_arg": true,
      "arg": {
        "name": "file",
        "template": "filepaths"
      }
    },
    {
      "names": [
        "-L",
        "logpidfile"
      ],
      "description": "Fail if PID file is not locked"
    },
    {
      "names": [
        "-r",
        "--runstates"
      ],
      "description": "Match runstates",
      "takes_arg": true,
      "arg": {
        "name": "state"
      }
    },
    {
      "names": [
        "--ns"
      ],
      "description": "Match the processes that belong to a specified PID",
      "takes_arg": true,
      "arg": {
        "name": "PID"
      }
    },
    {
      "names": [
        "--nslist"
      ],
      "description": "List which namespaces will be considered for the --ns option",
      "takes_arg": true,
      "arg": {
        "name": "ns",
        "is_variadic": true,
        "suggestions": [
          "ipc",
          "mnt",
          "net",
          "pid",
          "user",
          "uts"
        ]
      }
    },
    {
      "names": [
        "-h",
        "--help"
      ],
      "description": "Output help message and exit"
    },
    {
      "names": [
        "-V",
        "--version"
      ],
      "description": "Output version information and exit"
    }
  ],
  "args": [
    {
      "name": "pattern",
      "description": "Specifies an Extended Regular Expression for matching against the process names or command lines"
    }
  ]
}
