CentOS - Killall 命令(杀死名称与给定模式匹配的所有进程)

CentOS - Killall 命令(杀死名称与给定模式匹配的所有进程)

我最近开始使用 CentOS。我尝试使用该killall实用程序,但发现它丢失了,并且command not found在尝试使用它时收到一条消息。如何在我的系统上获得此功能,以便我可以杀死名称与模式匹配的所有进程?

答案1

pkill公用事业是一个更好的替代品killallkillall不可移植,因为命令的行为在不同操作系统之间有很大不同。pkill是便携式的并且在任何地方的行为都是相同的。它也更加灵活,因为它提供了许多不同的流程匹配方式。它还与 具有相同的匹配行为和参数pgrep公用事业,它允许您查看哪些进程将被匹配和发出信号,而无需实际向它们发出信号。

用法:(pkill foo与 相同killall foo

答案2

PS杂项包含该killall实用程序以及其他一些小而有用的工具。可以简单地添加

yum install psmisc

答案3

除了 Patrick 的解决方案之外,killall 命令的功能可以通过以下方式复制:

pkill -15 [process name]

例如,要终止所有正在运行的 memcached 进程,可以编写以下内容:

pkill -15 memcached

“-15”是 SIGTERM POSIX 信号的数字表示。要获取可在进程中触发的所有 POSIX 信号的列表,请使用以下命令:

kill -l

这将返回下表:

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

有关每个信号的作用的更多信息可以找到这里

相关内容