xargs killコマンドに「-9」を渡す

xargs killコマンドに「-9」を渡す

アプリケーションを停止するスクリプトを書いています。アプリケーションが停止しないことがあります。そのため、数分の一時停止後、アプリケーションがまだ実行中の場合は、それを強制終了したいと思います。kill コマンドが何度も失敗した後、-9 を追加して強制終了しようとしましたが、うまくいかないようです。これを機能させる方法を誰か知っていますか。別のコマンドを使用する必要があるとしても、新しいことにはオープンです。:-)

以下は私のコマンドラインです:

ps -ef|grep -v grep|grep <process_name>|awk -F' ' '{print $2}' |xargs kill -9

前もって感謝します。

答え1

phpプロセスをバッチで閉じる方法の例。phpプロセスの名前に置き換えて使用できます。

ps -aux | grep php | awk '{print $2}' | xargs kill -9

答え2

@muru は正しかったのですが、最近、pkill に '-f' オプションを使用する方がよいことがわかりました。プロセス全体と引数リストに一致します。ここでは、Tomcat プロセスと Logstash (Elastic にデータを送信) を実行しているサーバーがいくつかあります。したがって、Tomcat プロセスを停止する 'kill -9 java' は、Logstash プロセスも強制終了します。

pkill -9 -f 'pattern to match'

例:

pkill -9 -f '/opt/tomcat/'

関連情報