
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 php
von Prozessen im Stapel. php
Sie 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/'