#!/bin/sh # # helma init script (written for debian, but should be rather generic) # needs helma.conf, preferrably in /etc/helma.conf # # andreas bolka, 2003-11-30 # HELMA_CONFIG=/etc/helma.conf ### # Check for existence of needed config file and source it if [ -r $HELMA_CONFIG ]; then source $HELMA_CONFIG else echo "Can't read config file $HELMA_CONFIG" exit 6 fi # Check for missing files and directories if [ ! -x $JAVA_BIN ]; then echo "Config error: JAVA_BIN $JAVA_BIN not found or not executable" exit 5 fi if [ ! -r $HELMA_INSTALL/launcher.jar ]; then echo "Config error: $HELMA_INSTALL/launcher.jar not found or not readable" exit 5 fi if [ ! -d $HELMA_HOME ]; then echo "Config error: HELMA_HOME $HELMA_HOME not found" exit 5 fi # local settins RUN_CMD="sudo -u $HELMA_USER $JAVA_BIN" RUN_ARGS="$JAVA_OPTS -jar $HELMA_HOME/launcher.jar $HELMA_ARGS" case "$1" in start) echo -n "Starting $HELMA_SERVICE: " if [ -f $HELMA_PID ]; then echo "$HELMA_SERVICE (pid `cat $HELMA_PID`) already running" exit 1 fi cd $HELMA_HOME nohup $RUN_CMD $RUN_ARGS > $HELMA_LOG 2>&1 & echo $! > $HELMA_PID echo "$HELMA_SERVICE (pid `cat $HELMA_PID`) started." ;; stop) echo -n "Shutting down $HELMA_SERVICE: " if [ ! -f $HELMA_PID ]; then echo "$HELMA_SERVICE not running" exit 1 fi PID=`cat $HELMA_PID 2>/dev/null` echo -n "$HELMA_SERVICE (pid $PID) " kill $PID 2>/dev/null; sleep 2; kill -9 $PID 2>/dev/null rm -f $HELMA_PID echo "stopped." ;; restart) $0 stop && $0 start ;; reload) echo -n "Reloading $HELMA_SERVICE: $HELMA_SERVICE" touch $HELMA_HOME/server.properties touch $HELMA_HOME/apps.properties echo "." ;; *) echo "Usage: /etc/init.d/helma start|stop|restart|reload" exit 1 ;; esac exit 0