diff options
Diffstat (limited to 'doc/initscripts/rc.lighttpd')
| -rwxr-xr-x | doc/initscripts/rc.lighttpd | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/doc/initscripts/rc.lighttpd b/doc/initscripts/rc.lighttpd new file mode 100755 index 0000000..da0d244 --- /dev/null +++ b/doc/initscripts/rc.lighttpd @@ -0,0 +1,155 @@ +#! /bin/sh +# Copyright (c) 1995-2002 SuSE Linux AG, Nuernberg, Germany. +# All rights reserved. +# +# Author: Kurt Garloff <feedback@suse.de> +# +# /etc/init.d/FOO +# +# and symbolic its link +# +# /(usr/)sbin/rcFOO +# +# LSB compliant service control script; see http://www.linuxbase.org/spec/ +# +# System startup script for some example service or daemon FOO (template) +# +### BEGIN INIT INFO +# Provides: FOO +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 3 5 +# Default-Stop: 0 1 2 6 +# Description: Start FOO to allow XY and provide YZ +# continued on second line by '#<TAB>' +### END INIT INFO +# +# Note on Required-Start: It does specify the init script ordering, +# not real dependencies. Depencies have to be handled by admin +# resp. the configuration tools (s)he uses. + +# Source SuSE config (if still necessary, most info has been moved) +test -r /etc/rc.config && . /etc/rc.config + +# Check for missing binaries (stale symlinks should not happen) +LIGHTTPD_BIN=/usr/sbin/lighttpd +test -x $LIGHTTPD_BIN || exit 5 + +# Check for existence of needed config file and read it +LIGHTTPD_CONFIG=/etc/sysconfig/lighttpd +test -r $LIGHTTPD_CONFIG || exit 6 +. $LIGHTTPD_CONFIG + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v ditto but be verbose in local rc status +# rc_status -v -r ditto and clear the local rc status +# rc_failed set local and overall rc status to failed +# rc_failed <num> set local and overall rc status to <num><num> +# rc_reset clear local rc status (overall remains) +# rc_exit exit appropriate to overall rc status +# rc_active checks whether a service is activated by symlinks +. /etc/rc.status + +# First reset status of this service +rc_reset + +# Return values acc. to LSB for all commands but status: +# 0 - success +# 1 - generic or unspecified error +# 2 - invalid or excess argument(s) +# 3 - unimplemented feature (e.g. "reload") +# 4 - insufficient privilege +# 5 - program is not installed +# 6 - program is not configured +# 7 - program is not running +# +# Note that starting an already running service, stopping +# or restarting a not-running service as well as the restart +# with force-reload (in case signalling is not supported) are +# considered a success. + +case "$1" in + start) + echo -n "Starting lighttpd" + ## Start daemon with startproc(8). If this fails + ## the echo return value is set appropriate. + + # NOTE: startproc returns 0, even if service is + # already running to match LSB spec. + startproc $LIGHTTPD_BIN -f $LIGHTTPD_CONF_PATH + + # Remember status and be verbose + rc_status -v + ;; + stop) + echo -n "Shutting down lighttpd" + ## Stop daemon with killproc(8) and if this fails + ## set echo the echo return value. + + killproc -TERM $LIGHTTPD_BIN + + # Remember status and be verbose + rc_status -v + ;; + try-restart) + ## Stop the service and if this succeeds (i.e. the + ## service was running before), start it again. + ## Note: try-restart is not (yet) part of LSB (as of 0.7.5) + $0 status >/dev/null && $0 restart + + # Remember status and be quiet + rc_status + ;; + restart) + ## Stop the service and regardless of whether it was + ## running or not, start it again. + $0 stop + $0 start + + # Remember status and be quiet + rc_status + ;; + force-reload|reload) + ## Like force-reload, but if daemon does not support + ## signalling, do nothing (!) + + # If it supports signalling: + echo -n "Reload service LIGHTTPD" + killproc -INT $LIGHTTPD_BIN + $0 start + touch /var/run/lighttpd.pid + rc_status -v + + ## Otherwise if it does not support reload: + #rc_failed 3 + #rc_status -v + ;; + status) + echo -n "Checking for service LIGHTTPD: " + ## Check status with checkproc(8), if process is running + ## checkproc will return with exit status 0. + + # Return value is slightly different for the status command: + # 0 - service running + # 1 - service dead, but /var/run/ pid file exists + # 2 - service dead, but /var/lock/ lock file exists + # 3 - service not running + + # NOTE: checkproc returns LSB compliant status values. + checkproc $LIGHTTPD_BIN + rc_status -v + ;; + probe) + ## Optional: Probe for the necessity of a reload, + ## print out the argument which is required for a reload. + + test /etc/lighttpd/lighttpd.conf -nt /var/run/lighttpd.pid && echo reload + ;; + *) + echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" + exit 1 + ;; +esac +rc_exit |
