This guide will go through how to kill a process in Linux. Linux comes with a built-in command called kill that is used to manually end processes.
How to kill a process in Linux
We will go through common kill commands such as kill, pkill, killall, xkill, etc. The command doesn’t end the process on its own. Instead, they direct a specific signal to the desired process or processes. SIGTERM(15) is the default signal when not specified.
Kill Command
- List the signals used to kill the process. The most used signal is 1, 9 and 15.
kill -l
Sample output
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
- List all running processes with their PID using the command below.
ps -A
Sample output
763 ? 00:00:00 cron 764 ? 00:00:02 dbus-daemon 765 ? 00:00:00 NetworkManager 771 ? 00:00:00 irqbalance 773 ? 00:00:00 networkd-dispat 774 ? 00:00:02 polkitd 775 ? 00:00:00 power-profiles- 776 ? 00:00:00 rsyslogd 778 ? 00:00:00 switcheroo-cont 779 ? 00:00:00 systemd-logind 780 ? 00:00:00 udisksd 781 ? 00:00:00 wpa_supplicant 813 ? 00:00:00 avahi-daemon 861 ? 00:00:00 cupsd 863 ? 00:00:08 redis-server 866 ? 00:00:00 unattended-upgr 871 ? 00:00:00 ModemManager 883 ? 00:00:00 gdm3 1002 ? 00:00:00 kerneloops 1004 ? 00:00:00 kerneloops 1006 ? 00:00:00 cups-browsed 1096 ? 00:00:00 rtkit-daemon 1311 ? 00:00:00 upowerd 1348 ? 00:00:00 packagekitd 1532 ? 00:00:00 colord 1565 ? 00:00:00 gdm-session-wor 1572 ? 00:00:01 systemd 1573 ? 00:00:00 (sd-pam) 1580 ? 00:00:00 pipewire 1581 ? 00:00:00 pipewire-media- 1582 ? 00:00:00 pulseaudio 1583 ? 00:00:01 snapd-desktop-i 1586 ? 00:00:00 dbus-daemon 1595 ? 00:00:00 gvfsd 1596 ? 00:00:00 gnome-keyring-d 1607 ? 00:00:00 gvfsd-fuse 1608 ? 00:00:00 xdg-document-po 1618 ? 00:00:00 xdg-permission- 1625 ? 00:00:00 fusermount3 1638 tty2 00:00:00 gdm-wayland-ses 1641 ? 00:00:01 tracker-miner-f 1642 tty2 00:00:00 gnome-session-b 1712 ? 00:00:00 gnome-session-c 1723 ? 00:00:00 gnome-session-b 1742 ? 00:00:00 at-spi-bus-laun 1744 ? 00:00:45 gnome-shell 1753 ? 00:00:00 dbus-daemon 1788 ? 00:00:00 gvfs-udisks2-vo 1795 ? 00:00:00 gvfs-goa-volume 1799 ? 00:00:00 goa-daemon 1806 ? 00:00:00 goa-identity-se 1811 ? 00:00:00 gvfs-afc-volume 1817 ? 00:00:00 gvfs-gphoto2-vo 1821 ? 00:00:00 gvfs-mtp-volume 1827 ? 00:00:00 gnome-shell-cal 1834 ? 00:00:00 evolution-sourc 1843 ? 00:00:00 xdg-desktop-por 1847 ? 00:00:00 evolution-calen 1851 ? 00:00:00 xdg-desktop-por 1857 ? 00:00:00 gvfsd-trash 1865 ? 00:00:00 gjs 1867 ? 00:00:00 at-spi2-registr 1877 ? 00:00:00 sh 1878 ? 00:00:00 gsd-a11y-settin 1881 ? 00:00:00 ibus-daemon 1882 ? 00:00:00 gsd-color 1884 ? 00:00:00 gsd-datetime 1885 ? 00:00:00 gsd-housekeepin 1890 ? 00:00:00 gsd-keyboard 1896 ? 00:00:00 gsd-media-keys 1900 ? 00:00:00 gsd-power 1903 ? 00:00:00 gsd-print-notif 1911 ? 00:00:00 gsd-rfkill 1918 ? 00:00:00 gsd-screensaver 1926 ? 00:00:00 gsd-sharing 1932 ? 00:00:00 gsd-smartcard 1938 ? 00:00:00 evolution-alarm 1942 ? 00:00:00 gsd-sound 1943 ? 00:00:00 gsd-wacom 1965 ? 00:00:00 ibus-memconf 1968 ? 00:00:02 ibus-extension- 1978 ? 00:00:00 ibus-portal 1986 ? 00:00:00 gsd-disk-utilit 1987 ? 00:00:00 dconf-service 1992 ? 00:00:05 vmtoolsd 1995 ? 00:00:00 evolution-addre 2022 ? 00:00:00 gsd-printer 2068 ? 00:00:00 gvfsd-metadata 2090 ? 00:00:00 ibus-engine-sim 2093 ? 00:00:25 Xwayland 2107 ? 00:00:00 xdg-desktop-por 2109 ? 00:00:00 gjs 2146 ? 00:00:01 gjs 2157 ? 00:00:00 gsd-xsettings 2203 ? 00:00:00 ibus-x11 2217 ? 00:02:22 firefox 2330 ? 00:00:03 gnome-terminal- 2367 pts/0 00:00:00 bash 2391 ? 00:00:00 Socket Process 2423 ? 00:00:01 Privileged Cont 2453 ? 00:00:00 snap 3486 ? 00:00:01 WebExtensions 3658 ? 00:01:21 Isolated Web Co 4001 ? 00:00:00 update-notifier 5251 ? 00:00:03 snapd 5937 ? 00:00:03 kworker/1:0-events 5989 ? 00:00:02 kworker/0:2-events 6251 ? 00:00:00 kworker/u256:2-ext4-rsv-conversion 6278 ? 00:00:00 kworker/1:1-events 6352 ? 00:00:00 kworker/u256:3-events_unbound 6367 ? 00:00:00 kworker/u256:0-flush-8:0 6377 ? 00:00:00 kworker/0:1-events 6436 ? 00:00:00 kworker/0:0-rcu_par_gp 6448 ? 00:00:00 Isolated Servic 6464 ? 00:00:00 kworker/1:2-events 6474 ? 00:00:00 Web Content 6500 ? 00:00:00 Web Content 6577 ? 00:00:00 kworker/u256:1-events_unbound 6875 ? 00:00:00 Web Content 7051 ? 00:00:00 apache2 7052 ? 00:00:00 apache2 7053 ? 00:00:00 apache2 7169 ? 00:00:00 htcacheclean 7196 ? 00:00:00 kworker/1:3-events 7318 pts/0 00:00:00 ps
- To kill a specific process e.g. Redis-server in the processes above output. We will use the format
kill <signal_or_options> <PID(s)>
sudo kill -9 863
Pkill Command
- You can also kill a process by its name part e.g.
sudo pkill redis
- To kill a process by a specific name add the -x option as shown below.
sudo pkill -x redis-server
Killall Command
- Killall command is another command that can be used to kill a process by its name though it uses a specific name only. Killall command will kill all processes that run on a specific process name e.g. let’s say Apache has 3 processes 7051, 7052 & 7053 by running the command below will terminate the three processes.
sudo killall -9 apache2
- Killall command can also be used to kill a process older than a specific time using the -o option e.g. to kill a process older than 1 day, use the command below. Note, you can replace d with s(for seconds), m(for minutes), d(for days), w(for weeks), M(for months) and y(for years).
sudo killall -o 1d nginx
- To kill process younger than a specific time using the -y option e.g.
sudo killall -y 1d nginx
- You can also kill specific user processes in your system. e.g. user1
sudo killall apache2 -u user1
Xkill command
- Xkill command is used to kill an open program. After running xkill command on the terminal left click on the program window to kill it. Xkill command comes in handy when you have programs that aren’t responding.
xkill
Sample output
Select the window whose client you wish to kill with button 1....
xkill: killing creator of resource 0x160003c
- You have reached the end of our article, we have gone through how to kill a process in Linux using the most used commands.
Read more about kill commands on the man pages
Other Tutorials
Setup Nagios Passive Checks with NRDP