Linux kill command

Linux 命令大全Linux Command Encyclopedia

The Linux kill command is used to terminate running processes.

The kill command can send different signals to the target process to perform different operations. If no signal is specified, it sends the TERM signal (15) by default, which terminates the process. If the program still cannot be terminated, you can use the SIGKILL (9) signal to attempt to forcefully kill the program.

Syntax

kill [options] <PID>

<PID> is the process ID of the process to be terminated.

Parameter description:

  • -l: List all available signals.
  • -<signal>: Send a specific signal to the target process, for example-9means sending the KILL signal, i.e., forcefully terminating the process.

Basic Usage

Terminate a process:By default, the kill command sends SIGTERM (signal 15), which requests process termination. If the process does not catch this signal, it will be terminated.

kill PID

Where PID is the process ID.

Send a specific signal:Via-sthe option, you can send a specified signal.

kill -s SIGNAL PID

For example, sending SIGKILL (signal 9) will immediately terminate the process; it cannot be ignored or caught.

kill -9 PID

Kill a process group:Use the -9 option to kill the entire process group.

kill -9 -PID

Use the kill -l command to list all available signals.

The most commonly used signals are:

  • SIGKILL(Signal 9): Immediately ends the process; cannot be caught or ignored.
  • SIGTERM(Signal 15): Ends the process normally; can be caught or ignored.
  • SIGSTOP(Signal 19): Suspends the process; cannot be caught, ignored, or ended.
  • SIGCONT(Signal 18): Continues executing a suspended process.
  • SIGINT(Signal 2): Usually the signal produced by Ctrl+C; it can be caught or ignored by the process.

Examples

Terminate the process with PID 1234:

kill 1234

Forcefully terminate the process with PID 1234:

kill -9 1234

Send SIGSTOP to the process with PID 1234:

kill -s SIGSTOP 1234

Display signals

# kill -l
1) SIGHUP     2) SIGINT     3) SIGQUIT     4) SIGILL     5) SIGTRAP
6) SIGABRT     7) SIGBUS     8) SIGFPE     9) SIGKILL    10) SIGUSR1
11) SIGSEGV    12) SIGUSR2    13) SIGPIPE    14) SIGALRM    15) SIGTERM
16) SIGSTKFLT    17) SIGCHLD    18) SIGCONT    19) SIGSTOP    20) SIGTSTP
21) SIGTTIN    22) SIGTTOU    23) SIGURG    24) SIGXCPU    25) SIGXFSZ
26) SIGVTALRM    27) SIGPROF    28) SIGWINCH    29) SIGIO    30) SIGPWR
31) SIGSYS    34) SIGRTMIN    35) SIGRTMIN+1    36) SIGRTMIN+2    37) SIGRTMIN+3
38) SIGRTMIN+4    39) SIGRTMIN+5    40) SIGRTMIN+6    41) SIGRTMIN+7    42) SIGRTMIN+8
43) SIGRTMIN+9    44) SIGRTMIN+10    45) SIGRTMIN+11    46) SIGRTMIN+12    47) SIGRTMIN+13
48) SIGRTMIN+14    49) SIGRTMIN+15    50) SIGRTMAX-14    51) SIGRTMAX-13    52) SIGRTMAX-12
53) SIGRTMAX-11    54) SIGRTMAX-10    55) SIGRTMAX-9    56) SIGRTMAX-8    57) SIGRTMAX-7
58) SIGRTMAX-6    59) SIGRTMAX-5    60) SIGRTMAX-4    61) SIGRTMAX-3    62) SIGRTMAX-2
63) SIGRTMAX-1    64) SIGRTMAX

Kill all processes of a specified user:

kill -9 $(ps -ef | grep hnlinux) //方法一 过滤出hnlinux用户进程 
kill -u hnlinux //方法二

Notes

  • When usingkillthe command, you need to have appropriate permissions; otherwise, you may not be able to terminate the process.
  • Some processes may require multiple signals to be sent before they terminate, such as certain daemon processes.
  • Forcefully killing a process may cause data loss or other side effects, so use it with caution.

Linux 命令大全Linux Command Encyclopedia

Other Extensions