#!/bin/bash # # agvs Startup script for the Access Grid Venue Server # # chkconfig: - 85 15 # description: Venue server for Access Grid 3.xx # # config: /etc/default/agvs.conf if [ -f /etc/default/agvs.conf ]; then . /etc/default/agvs.conf fi [ -z ${AGSERVER_OWNER} ] && { echo "AGSERVER_OWNER is not set. Set it in /etc/default/agvs.conf" exit 1 } [ -z ${AGSERVER_HOME} ] && { echo "AGSERVER_HOME is not set. Set it in /etc/default/agvs.conf" exit 2 } [ -z ${AGSERVER_EXE} ] && { echo "AGSERVER_EXE is not set. Set it in /etc/default/agvs.conf" exit 1 } # Path to the venue server script and lock file. prog=VenueServer lockfile=${AGSERVER_LOCKFILE:-/var/lock/agvs} RETVAL=0 [ -x ${AGSERVER_EXE} ] || { echo "${AGSERVER_EXE} needs to exist and be executable" exit 3 } start() { echo -n $"Starting $prog: " (cd ${AGSERVER_HOME} && su ${AGSERVER_OWNER} -c ${AGSERVER_EXE} &) RETVAL=$? echo [ $RETVAL = 0 ] && touch ${lockfile} return $RETVAL } stop() { echo -n $"Stopping $prog ... " pkill -HUP ${prog} RETVAL=$? [ $RETVAL -ne 0 ] && { sleep 3 echo -n $"... " pkill -TERM ${prog} } [ $RETVAL -ne 0 ] && { sleep 3 echo -n $"... " pkill -KILL ${prog} } RETVAL=$? echo [ $RETVAL = 0 ] && rm -f ${lockfile} } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop start ;; condrestart) if [ -f ${pidfile} ] ; then stop start fi ;; *) echo $"Usage: $prog {start|stop|restart|condrestart}" exit 1 esac exit $RETVAL