X-Git-Url: https://code.grnet.gr/git/aquarium/blobdiff_plain/cc67f2b6a32f6bd4501cfe7b7cc67e1aa0d5985c..0754e8264fcbc2c5345bc35ee69776b578569e34:/scripts/aquarium.sh diff --git a/scripts/aquarium.sh b/scripts/aquarium.sh index be90a2c..f83ccd8 100755 --- a/scripts/aquarium.sh +++ b/scripts/aquarium.sh @@ -74,7 +74,7 @@ PRGDIR=`dirname "$PRG"` export AQUARIUM_HOME -PID=$AQUARIUM_HOME/bin/aquarium.pid +PID_FILE=$AQUARIUM_HOME/bin/aquarium.pid AQUARIUM_LIB=$AQUARIUM_HOME/lib AQUARIUM_CONF=$AQUARIUM_HOME/conf @@ -89,9 +89,9 @@ JBOOT_MAIN_CLASS=com.ckkloverdos.jbootstrap.Main # Check the application status check_status() { - if [ -f $PID ] + if [ -f $PID_FILE ] then - aqrunning=`ps -ef|grep java|grep aquarium` + aqrunning=`ps -ef|grep java|grep $AQUARIUM_MAIN_CLASS` if [ -z "$aqrunning" ] then return 0 @@ -118,19 +118,18 @@ start() { echo "Starting Aquarium" - # CLASSPATH=$AQUARIUM_CONF:$JBOOT_JAR CLASSPATH=$JBOOT_JAR - echo "Using initial CLASSPATH $CLASSPATH" - echo "Using AQUARIUM_HOME $AQUARIUM_HOME" - echo "Using MAIN $AQUARIUM_MAIN_CLASS" - echo "Using AQUARIUM_PROP $AQUARIUM_PROP" - echo "Using JAVA_OPTS $JAVA_OPTS" + echo "Using CLASSPATH=$CLASSPATH" + echo "Using AQUARIUM_HOME=$AQUARIUM_HOME" + echo "Using AQUARIUM_MAIN_CLASS=$AQUARIUM_MAIN_CLASS" + echo "Using AQUARIUM_PROP=$AQUARIUM_PROP" + echo "Using JAVA_OPTS=$JAVA_OPTS" echo "nohup java $JAVA_OPTS -cp $CLASSPATH $AQUARIUM_PROP $JBOOT_MAIN_CLASS -lib $AQUARIUM_LIB $AQUARIUM_MAIN_CLASS > $AQUARIUM_LOGFILE" nohup java $JAVA_OPTS -cp $CLASSPATH $AQUARIUM_PROP $JBOOT_MAIN_CLASS -lib $AQUARIUM_LIB $AQUARIUM_MAIN_CLASS > $AQUARIUM_LOGFILE 2>&1 & - echo $! > $PID - echo "OK [pid = "`cat $PID`"]" + echo $! > $PID_FILE + echo "PID="`cat $PID_FILE` } # Stops the application @@ -144,8 +143,8 @@ stop() { # Kills the application process echo -n "Stopping Aquarium: " - kill `cat $PID` - rm $PID + kill `cat $PID_FILE` + rm $PID_FILE echo "OK" } @@ -154,35 +153,49 @@ status() { check_status if [ $? -ne 0 ] then - echo "Aquarium is running (pid=$pid)" + echo "Aquarium is running (pid="`cat $PID_FILE`")" else echo "Aquarium is stopped" fi } +ps_aquarium() { + ps -ef | grep java | grep gr.grnet.aquarium.Main +} + +forcekill() { + local PIDS=`ps_aquarium | awk '{print $2}'` + for pid in $PIDS; do + echo Killing $pid + kill -9 $pid + done +} + # Main logic, a simple case to call functions case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - status - ;; - restart) - stop - start - ;; - ps) - ps -ef | grep java | grep gr.grnet.aquarium.Main - ;; - *) - echo "Usage: $0 {start|stop|restart|status|ps}" - exit 1 -esac - + start) + start + ;; + stop) + stop + ;; + status) + status + ;; + restart) + stop + start + ;; + ps) + ps_aquarium + ;; + forcekill) + forcekill + ;; + *) + echo "Usage: $0 {start|stop|restart|status|ps|forcekill}" + exit 1 + esac exit 0 # vim: set sta sts=4 shiftwidth=4 sw=4 et ai :