I recently started using CentOS. I went to try to use the killall utility but found it missing, with me receiving a command not found message when trying to use it. How can I get this functionality on my system so that I can, for instance, kill all processes whose names match a pattern?
- 809
3 Answers
The pkill utility is a much better alternative to killall. killall is not portable as the behavior of the command is very different across OSs. pkill is portable and behaves the same everywhere. It's also a lot more flexible as it provides a lot of different ways of matching the processes. It also shares the same matching behavior and arguments as the pgrep utility, which allows you to see what processes would be matched and signaled without actually signalling them.
Usage:pkill foo (which would be the same as killall foo)
PSmisc contains the killall utility, along with a few other small, useful tools. It can be added simply with
yum install psmisc
- 809
Further to Patrick's solution, the functionality of the killall command can be replicated with the following:
pkill -15 [process name]
For example, to kill all running memcached processes, one would write the following:
pkill -15 memcached
The '-15' is the numeric representation of a SIGTERM POSIX signal. To get a list of all POSIX signals which can be fired at a process, use the following command:
kill -l
This will return the following table:
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
Further information on what each signal does can be found here.
- 56,709
- 26
- 150
- 232
- 41
-
1
-
See also https://unix.stackexchange.com/questions/281439/why-should-i-not-use-kill-9-sigkill – Kusalananda Apr 05 '18 at 12:07
-
1
-
1Why did you edit just to remove 'Hope this helps!' from the end, @Rui F Ribeiro? Are there community rules against trying to be polite? – Daniel Kay Apr 16 '19 at 13:15
killall. – exebook Nov 14 '17 at 18:40pgrepsupport the-qoption for being quiet though. – Kusalananda Apr 16 '18 at 19:15