#!/bin/sh # # chkconfig: - 90 10 # description: A fast HTTP server. # processname: mathopd # config: /etc/mathopd.conf # pidfile: /var/run/mathopd.pid # Source function library. . /etc/init.d/functions # Overridable options RELNAME="${0##*/}" PIDFILE="/var/run/$RELNAME.pid" LOCKFILE="/var/lock/subsys/$RELNAME" EXPECT_USER= CONFIG_FILE= # Try to override default options by service profile SourceIfExists /etc/sysconfig/$RELNAME # Fixed-value options NAME="mathopd" BINPATH="/usr/sbin/$NAME" # Calculated options [ -z "$CONFIG_FILE" ] && CONFIG_FILE="/etc/$RELNAME.conf" [ -r "$CONFIG_FILE" ] || CONFIG_FILE="/etc/$NAME.conf" [ -z "$EXPECT_USER" ] && \ EXPECT_USER="$(grep -w '^[ \t]*User[ \t]*' ""$CONFIG_FILE"" | awk '{print $2;}' | tail -1)" [ -z "$EXPECT_USER" ] && \ EXPECT_USER="$RELNAME" id -un "$EXPECT_USER" >/dev/null 2>&1 || \ EXPECT_USER="$NAME" # Internal variables COMMON_OPTS="--pidfile $PIDFILE --lockfile $LOCKFILE --expect-user $EXPECT_USER" RETVAL=0 #----------------------------------------------- start() { start_daemon $COMMON_OPTS -- $NAME -f "$CONFIG_FILE" RETVAL=$? return $RETVAL } stop() { [ -n "$2" ] && echo -n "$2" stop_daemon $COMMON_OPTS "$1" -- $NAME RETVAL=$? return $RETVAL } restart() { stop start } safestop() { stop -USR2 "Safe stopping $NAME (waiting for all connections to finish..)" } saferestart() { safestop start } reload() { msg_reloading $NAME stop_daemon $COMMON_OPTS -HUP -- $NAME RETVAL=$? return $RETVAL } main() { case "$1" in start) start ;; stop) stop ;; reload) reload ;; restart) restart ;; safestop) safestop ;; saferestart) saferestart ;; condstop) [ -e "$LOCKFILE" ] && stop ;; condrestart) [ -e "$LOCKFILE" ] && restart ;; condreload) [ -e "$LOCKFILE" ] && reload ;; condsaferestart) [ -e "$LOCKFILE" ] && saferestart ;; drop) stop -USR1 "Drop all currently established connections for $NAME" ;; reap) stop -CHLD "Reape all children for $NAME" ;; debug) stop -QUIT "Switch debugging mode on/off for $NAME" ;; status) status $COMMON_OPTS -- $NAME RETVAL=$? ;; *) msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}" RETVAL=1 esac return $RETVAL } main "$@" ## EOF ##