Linux kill command
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 using
killthe 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 Command Encyclopedia