Übergabe einer '-9' an den Kill-Befehl von xargs

Übergabe einer '-9' an den Kill-Befehl von xargs

Ich schreibe ein Skript, um eine Anwendung zu stoppen. Manchmal will die Anwendung nicht gestoppt werden. Wenn die Anwendung also nach einer mehrminütigen Pause noch läuft, möchte ich sie beenden. Nach mehreren Fehlschlägen des Kill-Befehls habe ich versucht, -9 hinzuzufügen, um das Stoppen zu erzwingen. Das scheint nicht zu funktionieren. Weiß jemand, wie ich das zum Laufen bekomme, auch wenn ich einen anderen Befehl verwenden muss? Ich bin offen für Neues. :-)

Folgendes ist meine Befehlszeile:

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

Dank im Voraus.

Antwort1

Beispiel zum Schließen phpvon Prozessen im Stapel. phpSie können es durch den Namen Ihres Prozesses ersetzen:

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

Antwort2

@muru hatte recht, aber in letzter Zeit habe ich festgestellt, dass die Verwendung der Option „-f“ für pkill vorzuziehen ist. Stimmt mit der gesamten Prozess- und Argumentenliste überein. Hier haben wir einige Server, auf denen Tomcat-Prozesse und Logstash ausgeführt werden (die Daten an Elastic senden). Daher beendet „kill -9 java“, um den Tomcat-Prozess zu stoppen, auch den Logstash-Prozess.

pkill -9 -f 'pattern to match'

Beispiel:

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

verwandte Informationen