Hallo,
ich habe mir ein kleines Skript geschrieben um eine Software zu starten und zu stoppen. Das Problem war das sich die PID der Software bei jedem Start ändert deshalb hab ich einfach mal drauf los gescriptet ;=)
Ich hab so gut wie keine Ahnung von Shell-Skripten aber immerhin funktioniert es schon mal halbwegs. Hier erstmal das Skript:
PROGRAMMNAME=Testsoftware
PROGRAMMPID=`ps ux | awk '/Testsoftware/ && !/awk/ {print $2}'`
rc_reset
case "$1" in
start)
echo -n "Starting - $PROGRAMMNAME"
"/opt/Testsoftware/start.sh" $PROGRAMMNAME
rc_status -v
rc_reset
;;
stop)
if [ "$PROGRAMMPID" = "" ] ; then
echo "Testsoftware läuft nicht"
else
echo -n "Testsoftware stoppen"
kill $PROGRAMMPID
fi
rc_status -v
rc_reset
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
rc_exit
So jetzt möchte ich eigentlich noch eine Abfrage mit einbauen die prüft ob nach dem stoppen die PID noch da ist. Das soll so lange gemacht werden bis die PID verschwunden oder es vergeht eine gewisse Zeit sagen wir mal zwei Minuten dann soll ein kill -9 hinterhergeschoben werden.
Mir ist das mittlerweile echt zu hoch vielleicht hat jemand eine Idee? Wenns geht den Code so einfach wie möglich halten das ich noch durchblicke