Echo changes
[aquarium] / scripts / aquarium.sh
index be90a2c..f83ccd8 100755 (executable)
@@ -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 :