16

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?

19

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)

  • 2
    I think this answer would have been better if it has shown how exactly one can use it to replace killall. – exebook Nov 14 '17 at 18:40
  • Not all implementations of pgrep support the -q option for being quiet though. – Kusalananda Apr 16 '18 at 19:15
18

PSmisc contains the killall utility, along with a few other small, useful tools. It can be added simply with

yum install psmisc
2

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.

protected by Community Jun 12 at 12:18

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.