| | #!/bin/sh |
---|
| | # |
---|
| | # zope Start/Stop the Zope web-application server. |
---|
| | # |
---|
| | # chkconfig: 2345 72 72 |
---|
| | # description: zope is a web server specifically for handling \ |
---|
| | # HTTP requests to the Zope web-application service. |
---|
| | # |
---|
| | # Source function library. |
---|
| | . /etc/rc.d/init.d/functions |
---|
| | |
---|
| | INSTANCE_HOME=/var/zope |
---|
| | INSTANCE_NAME=`basename ${INSTANCE_HOME}` |
---|
| | |
---|
| | # make sure starter script exists |
---|
| | [ -f ${INSTANCE_HOME}/zserver.sh ] || exit 0 |
---|
| | |
---|
| | RETVAL=0 |
---|
| | |
---|
| | # Source function library does not help us with the pid |
---|
| | # so we find get the pid from the file here *only* |
---|
| | pidfile=/var/zope/var/Z2.pid |
---|
| | pid= |
---|
| | if [ -f $pidfile ]; then |
---|
| | pid=`cat $pidfile` |
---|
| | fi |
---|
| | |
---|
| | # Modified version of killproc() from source function library |
---|
| | |
---|
| | killproc() { |
---|
| | RC=0 |
---|
| | # Test syntax. |
---|
| | if [ "$#" -eq 0 ]; then |
---|
| | echo $"Usage: killproc {program} [signal]" |
---|
| | return 1 |
---|
| | fi |
---|
| | |
---|
| | notset=0 |
---|
| | # check for second arg to be kill level |
---|
| | if [ -n "$2" ]; then |
---|
| | killlevel=$2 |
---|
| | else |
---|
| | notset=1 |
---|
| | killlevel="-9" |
---|
| | fi |
---|
| | |
---|
| | # Save basename. |
---|
| | base=${1##*/} |
---|
| | |
---|
| | # Kill it. |
---|
| | if [ -n "${pid:-}" ] ; then |
---|
| | [ "$BOOTUP" = "verbose" -a -z "$LSB" ] && echo -n "$base " |
---|
| | if [ "$notset" -eq "1" ] ; then |
---|
| | if checkpid $pid 2>&1; then |
---|
| | # TERM first, then KILL if not dead |
---|
| | kill -TERM $pid |
---|
| | usleep 100000 |
---|
| | if checkpid $pid && sleep 1 && |
---|
| | checkpid $pid && sleep 3 && |
---|
| | checkpid $pid ; then |
---|
| | kill -KILL $pid |
---|
| | usleep 100000 |
---|
| | fi |
---|
| | fi |
---|
| | checkpid $pid |
---|
| | RC=$? |
---|
| | [ "$RC" -eq 0 ] && failure $"$base shutdown" || success $"$base shutdown" |
---|
| | RC=$((! $RC)) |
---|
| | # use specified level only |
---|
| | else |
---|
| | if checkpid $pid; then |
---|
| | kill $killlevel $pid |
---|
| | RC=$? |
---|
| | [ "$RC" -eq 0 ] && success $"$base $killlevel" || failure $"$base $killlevel" |
---|
| | fi |
---|
| | fi |
---|
| | else |
---|
| | failure $"$base shutdown" |
---|
| | RC=1 |
---|
| | fi |
---|
| | |
---|
| | # Remove pid file if any. |
---|
| | if [ "$notset" = "1" ]; then |
---|
| | rm -f $pidfile |
---|
| | fi |
---|
| | return $RC |
---|
| | } |
---|
| | |
---|
| | # Modified version of status() from source function library |
---|
| | |
---|
| | status() { |
---|
| | local base=${1##*/} |
---|
| | |
---|
| | # Test syntax. |
---|
| | if [ "$#" = 0 ] ; then |
---|
| | echo $"Usage: status {program}" |
---|
| | return 1 |
---|
| | fi |
---|
| | |
---|
| | # First and only try "$pid" |
---|
| | if [ -n "$pid" ]; then |
---|
| | echo $"${base} (pid $pid) is running..." |
---|
| | return 0 |
---|
| | fi |
---|
| | |
---|
| | # See if /var/lock/subsys/${base} exists |
---|
| | if [ -f /var/lock/subsys/${base} ]; then |
---|
| | echo $"${base} dead but subsys locked" |
---|
| | return 2 |
---|
| | fi |
---|
| | echo $"${base} is stopped" |
---|
| | return 3 |
---|
| | } |
---|
| | |
---|
| | # See how we were called. |
---|
| | case "$1" in |
---|
| | start) |
---|
| | echo -n "Starting zope: " |
---|
| | cd ${INSTANCE_HOME} |
---|
| | [ "$pid" != "" ] && ps h $pid >/dev/null 2>&1 && echo && exit $RETVAL |
---|
| | rm -f ${INSTANCE_HOME}/var/Z2.pid |
---|
| | daemon ${INSTANCE_HOME}/zserver.sh |
---|
| | RETVAL=$? |
---|
| | echo |
---|
| | [ $RETVAL -eq 0 ] && touch /var/lock/subsys/${INSTANCE_NAME} |
---|
| | ;; |
---|
| | stop) |
---|
| | echo -n "Shutting down zope: " |
---|
| | killproc zope |
---|
| | echo |
---|
| | [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/${INSTANCE_NAME} ${INSTANCE_HOME}/var/Z2.pid |
---|
| | ;; |
---|
| | restart|reload) |
---|
| | $0 stop |
---|
| | $0 start |
---|
| | RETVAL=$? |
---|
| | ;; |
---|
| | status) |
---|
| | status zope |
---|
| | [ $RETVAL -ne 0 ] && RETVAL=$? |
---|
| | ;; |
---|
| | *) |
---|
| | echo "Usage: zope {start|stop|restart|status}" |
---|
| | exit 1 |
---|
| | esac |
---|
| | |
---|
| | exit $RETVAL |
---|
| | |
---|
| | |