Send signals to processes from the shell, either politely or with force. 30.03.2026 | reading time: 2 min When a process misbehaves or simply outlives its purpose, use the kill command to send it a signal; learn how to terminate politely, escalate if needed, and target groups or names from the shell. Try it yourself: basic example Start a background job and end it step by step using the shell and kill: ```$ sleep 100 & [1] 12345 $ ps -o pid,cmd | grep sleep 12345 sleep 100 $ kill 12345 $ ps -o pid,cmd | grep 12345 || echo gone gone``` This shows creating a process, sending the default termination signal, and verifying the process is gone. When default doesn't work If a process ignores the polite request, escalate: `kill -9 PID` sends SIGKILL which cannot be caught and forces termination, but prevents cleanup; prefer `kill PID` (SIGTERM) first and use SIGKILL as last resort. Signals, groups and permissions Use `kill -l` to list signals and `kill -s NAME PID` to send named signals; prefix a PID with a minus sign to signal a process group, and remember you need appropriate privileges to kill another user's processes or kernel threads. Related utilities in practice For name-based or pattern matching termination use `pkill` or `killall`, and for an interactive view use `htop` to select processes; systemd services are controlled by `systemctl` rather than raw kill most of the time. Wrap up and next steps Mastering kill teaches signal basics and cautious process control; practice the signals and options, then deepen system knowledge to manage real servers and prepare for certifications like CompTIA Linux+ or LPIC-1 with intensive prep at bitsandbytes.academy. Join Bits & Bytes Academy First class LINUX exam preparation. utilities processes troubleshooting security scripting