java start stop

Post Reply
Message
Author
michael

java start stop

#1 Post by michael »

hallo leute,

ich möchte gerne meine java-klassen mittels parameter start|stop (wie z. B. apache oder mysql) starten bzw.stoppen.
wahrscheinlich ist das mit einem shellscript zu realisieren oder?

bye michael

taurus

Re: java start stop

#2 Post by taurus »

so auf die art vieleicht ?
:

case $1 in
start)
java mein/monster/javateil start
;;
stop)
java mein/monster/javateil stop
;;
*)
echo "$0 {start|stop}"
;;
esac

michael

Re: java start stop

#3 Post by michael »

ja wenn das programm das tut, was es verspricht sieht es gut aus.
ich habe allerdings eine lösung gefunden, sieht ganz änlich aus.
im falle eines 'stop' ermittle ich die pid und schiesse den process
mittels kill -9 ab.
so wie ich deinen vorschlag verstehe würdest du das javaprogramm
namens 'javateil' ein zweitesmal starten und dem den param 'stop'

übergeben oder? also investiert keine mühe mehr in das problem
es sein denn man sieht eine gefahr in meiner methode...

thx


mein script:
#/bin/sh
if [ "$1" = "stop" ]
then
pid=$(ps -ax|grep "java Hello" |grep -v grep|awk '{print $1}' |tail -n1)
echo "stoppe den Verwaltungsserver. Prozess: "$pid
kill -9 $pid
elif [ "$1" = "start" ]
then
echo "starte den Verwaltungsserver..."
java Hello &

else
echo "nur 'start' oder 'stop'"
fi
exit

Labba

Re: java start stop

#4 Post by Labba »

Da ein Server meist nur einmal gestartet werden sollte, muss oft eine LockDatei angelegt werden. Oft wird diese von der Struktur her die Form server.pid haben. Der Inhalt dieser Datei ist dann die PID des Prozesses.

Somit kann vor einem Kill einfach getestet werden, ob die Datei vorhanden ist, und der Server somit überhaupt läuft. Und das Script kann dann einfach die Form :
kill -9 `cat server.pid` haben, denke daran, innerhalb der Server Routine das Signal abzufangen, um die server.pid zu löschen.

Post Reply