最近、CentOSを使い始めました。killall
ユーティリティを使用しようとしましたが、見つからないため、command not found
使用しようとするとメッセージが表示されました。たとえば、名前がパターンに一致するすべてのプロセスを強制終了できるように、システムでこの機能を取得するにはどうすればよいですか?
最近、CentOSを使い始めました。killall
ユーティリティを使用しようとしましたが、見つからないため、command not found
使用しようとするとメッセージが表示されました。たとえば、名前がパターンに一致するすべてのプロセスを強制終了できるように、システムでこの機能を取得するにはどうすればよいですか?
回答:
このpkill
ユーティリティは、のはるかに優れた代替手段killall
です。killall
コマンドの動作はOSによって大きく異なるため、移植性はありません。pkill
移植性があり、どこでも同じように動作します。また、プロセスを一致させるさまざまな方法を提供するため、はるかに柔軟です。また、pgrep
ユーティリティと同じ一致動作と引数を共有します。これにより、実際にシグナルを送信せずに、どのプロセスが一致してシグナルを送信するかを確認できます。
使用法:(pkill foo
これはと同じですkillall foo
)
pgrep
、すべての実装-q
が静寂のオプションをサポートしているわけではありません。
PSmiscには、killall
ユーティリティといくつかの他の小さな便利なツールが含まれています。単純に追加することができます
yum install psmisc
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
各信号の機能に関する詳細については、こちらを参照してください。
killall
はTERM
シグナルを送信することに注意してくださいKILL
。
killall
。