87dc70a
#!/bin/sh
87dc70a
#
229d70e
# jetty	This shell script takes care of starting and stopping jetty
87dc70a
#
87dc70a
# chkconfig: - 80 20
87dc70a
# description: The Jetty Webserver and Servlet Container
87dc70a
# processname: jetty
229d70e
# pidfile: /var/run/jetty/jetty.pid
229d70e
# config:  /etc/jetty/jetty.conf
87dc70a
#
87dc70a
#
87dc70a
# Portions from tomcat4.init by:
87dc70a
#
87dc70a
# Gomez Henri <hgomez@users.sourceforge.net>
87dc70a
# Keith Irwin <keith_irwin@non.hp.com>
87dc70a
# Nicolas Mailhot <nicolas.mailhot@one2team.com>
87dc70a
#
87dc70a
#
87dc70a
87dc70a
87dc70a
# Source function library.
daa0af3
. /etc/init.d/functions
87dc70a
87dc70a
[ -r /etc/java/java.conf ] && . /etc/java/java.conf
87dc70a
export JAVA_HOME
87dc70a
87dc70a
# Get Jetty5's config
87dc70a
                                                                                                                                                             
229d70e
JETTY_CFG="/etc/jetty/jetty.conf"
87dc70a
                                                                                                                                                             
87dc70a
[ -r "$JETTY_CFG" ] && . "${JETTY_CFG}"
87dc70a
229d70e
# Path to the jetty launch script (direct don't use the wrapper)
229d70e
JETTY_SCRIPT=/usr/bin/djetty
87dc70a
229d70e
# if JETTY_USER is not set, use jetty
87dc70a
if [ -z "$JETTY_USER" ]; then
229d70e
    JETTY_USER="jetty"
87dc70a
fi
87dc70a
                                                                                                                                                             
229d70e
# if JETTY_HOME is not set, use /usr/share/jetty
87dc70a
if [ -z "$JETTY_HOME" ]; then
229d70e
    JETTY_HOME="/usr/share/jetty"
87dc70a
fi
87dc70a
87dc70a
if [ -z "$SHUTDOWN_WAIT" ]; then
87dc70a
    SHUTDOWN_WAIT=10
87dc70a
fi
87dc70a
87dc70a
if [ -z "$JETTY_PID" ]; then
229d70e
    JETTY_PID=/var/run/jetty/jetty.pid
87dc70a
fi
87dc70a
87dc70a
daa0af3
prog=jetty
87dc70a
RETVAL=0
87dc70a
87dc70a
start() {
daa0af3
    echo -n $"Starting $prog: "
87dc70a
229d70e
        if [ -f /var/lock/subsys/jetty ] ; then
87dc70a
                if [ -f $JETTY_PID ]; then
87dc70a
                        read kpid < $JETTY_PID
87dc70a
                        if checkpid $kpid 2>&1; then
87dc70a
                                echo "process already running"
87dc70a
                                return -1
87dc70a
                        else
87dc70a
                                echo "lock file found but no process running for pid $kpid, continuing"
87dc70a
                        fi
87dc70a
                fi
87dc70a
        fi
87dc70a
87dc70a
#	[ -x ${JETTY_HOME}/ext ] &&
87dc70a
#	  	rebuild-jar-repository -s ${JETTY_HOME}/ext
87dc70a
87dc70a
        if [ -x /etc/rc.d/init.d/functions ]; then
daa0af3
                daemon --user $JETTY_USER JETTY_PID=$JETTY_PID $JETTY_SCRIPT start
87dc70a
        else
daa0af3
                su - $JETTY_USER -c "JETTY_PID=$JETTY_PID $JETTY_SCRIPT start"
87dc70a
        fi
87dc70a
87dc70a
        RETVAL=$?
87dc70a
        echo
229d70e
        [ $RETVAL = 0 ] && touch /var/lock/subsys/jetty
87dc70a
        return $RETVAL
87dc70a
}
87dc70a
87dc70a
87dc70a
stop() {
daa0af3
    echo -n $"Stopping $prog: "
87dc70a
                                                                                                                                                             
229d70e
    if [ -f /var/lock/subsys/jetty ] ; then
87dc70a
      if [ -x /etc/rc.d/init.d/functions ]; then
daa0af3
          daemon --user $JETTY_USER JETTY_PID=$JETTY_PID $JETTY_SCRIPT stop
87dc70a
      else
daa0af3
          su - $JETTY_USER -c "JETTY_PID=$JETTY_PID $JETTY_SCRIPT stop"
87dc70a
      fi
87dc70a
      RETVAL=$?
87dc70a
87dc70a
      if [ $RETVAL = 0 ]; then
87dc70a
        count=0;
87dc70a
daa0af3
        if [ -f $JETTY_PID ]; then
87dc70a
87dc70a
            read kpid < $JETTY_PID
87dc70a
            let kwait=$SHUTDOWN_WAIT
87dc70a
87dc70a
            until [ `ps --pid $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq '0' ] || [ $count -gt $kwait ]
87dc70a
            do
87dc70a
                echo "waiting for processes to exit";
87dc70a
                sleep 1
87dc70a
                let count=$count+1;
87dc70a
            done
87dc70a
                                                                                                                                                             
87dc70a
            if [ $count -gt $kwait ]; then
87dc70a
                echo "killing processes which didn't stop after $SHUTDOWN_WAIT seconds"
87dc70a
                kill -9 $kpid
87dc70a
            fi
87dc70a
        fi
229d70e
        rm -f /var/lock/subsys/jetty $JETTY_PID
87dc70a
      fi
87dc70a
    fi
87dc70a
}
87dc70a
87dc70a
87dc70a
87dc70a
# See how we were called.
87dc70a
case "$1" in
87dc70a
  start)
87dc70a
        start
87dc70a
        ;;
87dc70a
  stop)
87dc70a
        stop
87dc70a
        ;;
daa0af3
  status)
daa0af3
	status -p $JETTY_PID jetty
daa0af3
	;;
daa0af3
  restart|reload)
87dc70a
        stop
87dc70a
        sleep 2
87dc70a
        start
87dc70a
        ;;
87dc70a
  condrestart)
87dc70a
        if [ -f $JETTY_PID ] ; then
87dc70a
                stop
87dc70a
                start
87dc70a
        fi
87dc70a
        ;;
87dc70a
  *)
daa0af3
        echo "Usage: $0 {start|stop|status|restart|reload|condrestart}"
87dc70a
        exit 1
87dc70a
esac
87dc70a
                                                                                                                                                             
87dc70a
exit $RETVAL
87dc70a
87dc70a
#
87dc70a
#
87dc70a
# end