Linux commands: kill
New Courses Coming Soon
Join the waiting lists
A quick guide to the `kill` command, used to send a signal to a process currently running
Linux processes can receive signals and react to them.
That’s one way we can interact with running programs.
The kill
program can send a variety of signals to a program.
It’s not just used to terminate a program, like the name would suggest, but that’s its main job.
We use it in this way:
kill <PID>
By default, this sends the TERM
signal to the process id specified.
We can use flags to send other signals, including:
kill -HUP <PID>
kill -INT <PID>
kill -KILL <PID>
kill -TERM <PID>
kill -CONT <PID>
kill -STOP <PID>
HUP
means hang up. It’s sent automatically when a terminal window that started a process is closed before terminating the process.
INT
means interrupt, and it sends the same signal used when we press ctrl-C
in the terminal, which usually terminates the process.
KILL
is not sent to the process, but to the operating system kernel, which immediately stops and terminates the process.
TERM
means terminate. The process will receive it and terminate itself. It’s the default signal sent by kill
.
CONT
means continue. It can be used to resume a stopped process.
STOP
is not sent to the process, but to the operating system kernel, which immediately stops (but does not terminate) the process.
You might see numbers used instead, like kill -1 <PID>
. In this case,
1
corresponds to HUP
.
2
corresponds to INT
.
9
corresponds to KILL
.
15
corresponds to TERM
.
18
corresponds to CONT
.
15
corresponds to STOP
.
This command works on Linux, macOS, WSL, and anywhere you have a UNIX environment
Here is how can I help you:
- COURSES where I teach everything I know
- CODING BOOTCAMP cohort course - next edition in 2025
- THE VALLEY OF CODE your web development manual
- BOOKS 17 coding ebooks you can download for free on JS Python C PHP and lots more
- Interesting links collection
- Follow me on X