
アプリケーションを停止するスクリプトを書いています。アプリケーションが停止しないことがあります。そのため、数分の一時停止後、アプリケーションがまだ実行中の場合は、それを強制終了したいと思います。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/'