{
    "mode": "man",
    "parameter": "KILL",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/KILL/1/json",
    "generated": "2026-06-16T10:28:04Z",
    "synopsis": "kill [options] <pid> [...]",
    "sections": {
        "NAME": {
            "content": "kill - send a signal to a process\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "kill [options] <pid> [...]\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "The  default  signal for kill is TERM.  Use -l or -L to list available signals.  Particularly\nuseful signals include HUP, INT, KILL, STOP, CONT, and 0.  Alternate signals may be specified\nin  three  ways:  -9,  -SIGKILL  or  -KILL.   Negative PID values may be used to choose whole\nprocess groups; see the PGID column in ps command output.  A PID of -1 is special;  it  indi‐\ncates all processes except the kill process itself and init.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "<pid> [...]",
                    "content": "Send signal to every <pid> listed.\n"
                },
                {
                    "name": "-<signal>",
                    "content": ""
                },
                {
                    "name": "-s <signal>",
                    "content": "",
                    "flag": "-s",
                    "arg": "<signal>"
                },
                {
                    "name": "--signal <signal>",
                    "content": "Specify  the  signal to be sent.  The signal can be specified by using name or number.\nThe behavior of signals is explained in signal(7) manual page.\n",
                    "long": "--signal",
                    "arg": "<signal>"
                },
                {
                    "name": "-q --queue",
                    "content": "Use sigqueue(3) rather than kill(2) and the value argument is used to specify an inte‐\nger  to  be sent with the signal. If the receiving process has installed a handler for\nthis signal using the SASIGINFO flag to sigaction(2) , then it can obtain  this  data\nvia the sivalue field of the siginfot structure.\n",
                    "flag": "-q",
                    "long": "--queue"
                },
                {
                    "name": "-l --list",
                    "content": "List  signal names.  This option has optional argument, which will convert signal num‐\nber to signal name, or other way round.\n",
                    "flag": "-l",
                    "long": "--list"
                },
                {
                    "name": "-L --table",
                    "content": "List signal names in a nice table.\n\n\nNOTES  Your shell (command line interpreter) may have a built-in kill command.  You may  need\nto run the command described here as /bin/kill to solve the conflict.\n",
                    "flag": "-L",
                    "long": "--table"
                }
            ]
        },
        "EXAMPLES": {
            "content": "",
            "subsections": [
                {
                    "name": "kill -9 -1",
                    "content": "Kill all processes you can kill.\n"
                },
                {
                    "name": "kill -l 11",
                    "content": "Translate number 11 into a signal name.\n"
                },
                {
                    "name": "kill -L",
                    "content": "List the available signal choices in a nice table.\n"
                },
                {
                    "name": "kill 123 543 2341 3453",
                    "content": "Send the default signal, SIGTERM, to all those processes.\n"
                }
            ]
        },
        "SEE ALSO": {
            "content": "kill(2), killall(1), nice(1), pkill(1), renice(1), signal(7), sigqueue(3), skill(1)\n",
            "subsections": []
        },
        "STANDARDS": {
            "content": "This command meets appropriate standards.  The -L flag is Linux-specific.\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "Albert  Cahalan  ⟨albert@users.sf.net⟩  wrote kill in 1999 to replace a bsdutils one that was\nnot standards compliant.  The util-linux one might also work correctly.\n",
            "subsections": []
        },
        "REPORTING BUGS": {
            "content": "Please send bug reports to ⟨procps@freelists.org⟩\n\n\n\nprocps-ng                                    2020-04-24                                      KILL(1)",
            "subsections": []
        }
    },
    "summary": "kill - send a signal to a process",
    "flags": [
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-s",
            "long": null,
            "arg": "<signal>",
            "description": ""
        },
        {
            "flag": "",
            "long": "--signal",
            "arg": "<signal>",
            "description": "Specify the signal to be sent. The signal can be specified by using name or number. The behavior of signals is explained in signal(7) manual page."
        },
        {
            "flag": "-q",
            "long": "--queue",
            "arg": null,
            "description": "Use sigqueue(3) rather than kill(2) and the value argument is used to specify an inte‐ ger to be sent with the signal. If the receiving process has installed a handler for this signal using the SASIGINFO flag to sigaction(2) , then it can obtain this data via the sivalue field of the siginfot structure."
        },
        {
            "flag": "-l",
            "long": "--list",
            "arg": null,
            "description": "List signal names. This option has optional argument, which will convert signal num‐ ber to signal name, or other way round."
        },
        {
            "flag": "-L",
            "long": "--table",
            "arg": null,
            "description": "List signal names in a nice table. NOTES Your shell (command line interpreter) may have a built-in kill command. You may need to run the command described here as /bin/kill to solve the conflict."
        }
    ],
    "examples": [
        "Kill all processes you can kill.",
        "Translate number 11 into a signal name.",
        "List the available signal choices in a nice table.",
        "Send the default signal, SIGTERM, to all those processes."
    ],
    "see_also": [
        {
            "name": "kill",
            "section": "2",
            "url": "https://www.chedong.com/phpMan.php/man/kill/2/json"
        },
        {
            "name": "killall",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/killall/1/json"
        },
        {
            "name": "nice",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/nice/1/json"
        },
        {
            "name": "pkill",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/pkill/1/json"
        },
        {
            "name": "renice",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/renice/1/json"
        },
        {
            "name": "signal",
            "section": "7",
            "url": "https://www.chedong.com/phpMan.php/man/signal/7/json"
        },
        {
            "name": "sigqueue",
            "section": "3",
            "url": "https://www.chedong.com/phpMan.php/man/sigqueue/3/json"
        },
        {
            "name": "skill",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/skill/1/json"
        }
    ],
    "tldr": {
        "source": "official",
        "description": "Send a signal to a process, usually related to stopping the process.",
        "examples": [
            {
                "description": "Terminate a program using the default SIGTERM (terminate) signal",
                "command": "kill {{process_id}}"
            },
            {
                "description": "List available signal names (to be used without the `SIG` prefix)",
                "command": "kill -l"
            },
            {
                "description": "Terminate a program using the SIGHUP (hang up) signal. Many daemons will reload instead of terminating",
                "command": "kill {{-1|-HUP}} {{process_id}}"
            },
            {
                "description": "Terminate a program using the SIGINT (interrupt) signal. This is typically initiated by the user pressing `<Ctrl c>`",
                "command": "kill {{-2|-INT}} {{process_id}}"
            },
            {
                "description": "Signal the operating system to immediately terminate a program (which gets no chance to capture the signal)",
                "command": "kill {{-9|-KILL}} {{process_id}}"
            },
            {
                "description": "Signal the operating system to pause a program until a SIGCONT (\"continue\") signal is received",
                "command": "kill {{-19|-STOP}} {{process_id}}"
            },
            {
                "description": "Send a `SIGUSR1` signal to all processes with the given GID (group id)",
                "command": "kill -SIGUSR1 -{{group_id}}"
            }
        ]
    }
}