CentOS-killallコマンド(指定されたパターンに一致する名前を持つすべてのプロセスを強制終了する)


18

最近、CentOSを使い始めました。killallユーティリティを使用しようとしましたが、見つからないため、command not found使用しようとするとメッセージが表示されました。たとえば、名前がパターンに一致するすべてのプロセスを強制終了できるように、システムでこの機能を取得するにはどうすればよいですか?

回答:


24

このpkillユーティリティは、のはるかに優れた代替手段killallです。killallコマンドの動作はOSによって大きく異なるため、移植性はありません。pkill移植性があり、どこでも同じように動作します。また、プロセスを一致させるさまざまな方法を提供するため、はるかに柔軟です。また、pgrepユーティリティと同じ一致動作と引数を共有します。これにより、実際にシグナルを送信せずに、どのプロセスが一致してシグナルを送信するかを確認できます。

使用法:(pkill fooこれはと同じですkillall foo


2
この答えは、どれだけ正確にそれを使用して置き換えることができるかを示していれば、もっと良かったと思いますkillall
exebook

ただしpgrep、すべての実装-qが静寂のオプションをサポートしているわけではありません。
クサラナナンダ

それがどのパッケージの一部であるかを説明すればさらに良いでしょう
Xalorous


2

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

各信号の機能に関する詳細については、こちらを参照してください


デフォルトでkillallTERMシグナルを送信することに注意してくださいKILL
クサラナナンダ


1
いい視点ね。編集済み。
ダニエルケイ

「これが役立つことを願って!」を削除するために編集したのはなぜですか?最後から、@ Rui F Ribeiro?礼儀正しくしようとすることに対するコミュニティのルールはありますか?
ダニエルケイ

0

systemdの代替はsystemctl halt(の略systemctl isolate halt.target)と想像できますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.