blob: 8f2f063e3ca1a2baee332272f81240a47f48d443 [file] [log] [blame]
#! /bin/sh
# Copyright (c) 1995-1998 SuSE GmbH Nuernberg, Germany.
#
# Author: Thorsten Bonow (Toto) <tb@lmbau.rwth-aachen.de>, 2000
# Based on example /sbin/init.d/skeleton=20
#
# /sbin/init.d/<watchdog.toto>
#
# and symbolic its link
#
# /sbin/rc<watchdog.toto>
#
. /etc/rc.config
# Determine the base and follow a runlevel link name.
base=${0##*/}
link=${base#*[SK][0-9][0-9]}
# Force execution if not called by a runlevel directory.
test $link = $base && START_FOO=yes
#
# Up to now, there is no support for watchdog in the main SuSE=20
# configuration file /etc/rc.config, read by the YaST setup tool
#
# It would look that way in /etc/rc.config:
#
# START_WATCHDOG=yes=20
#
# Then you could use here in this script:
# test "$START_WATCHDOG" = yes || exit 0
# The echo return value for success (defined in /etc/rc.config).
return=$rc_done
case "$1" in
start)
echo -n "Starting watchdog daemon"
## Start daemon with startproc(8). If this fails
## the echo return value is set appropriate.
startproc /usr/sbin/watchdog --softboot || return=$rc_failed
echo -e "$return"
;;
stop)
echo -n "Shutting down watchdog daemon"
## Stop daemon with killproc(8) and if this fails
## set echo the echo return value.
killproc -TERM /usr/sbin/watchdog || return=$rc_failed
echo -e "$return"
;;
restart)
## If first returns OK call the second, if first or
## second command fails, set echo return value.
$0 stop && $0 start || return=$rc_failed
;;
reload)
## Choose ONE of the following two cases:
## First possibility: A few services accepts a signal
## to reread the (changed) configuration.
#echo -n "Reload watchdog daemon"
#killproc -HUP /usr/sbin/watchdog || return=$rc_failed
#echo -e "$return"
## Exclusive possibility: Some services must be stopped
## and started to force a new load of the configuration.
$0 stop && $0 start || return=$rc_failed
;;
status)
echo -n "Checking for watchdog daemon: "
## Check status with checkproc(8), if process is running
## checkproc will return with exit status 0.
checkproc /usr/sbin/watchdog && echo OK || echo No process
;;
probe)
## Optional: Probe for the necessity of a reload,
## give out the argument which is required for a reload.
#test /etc/foo.conf -nt /var/run/foo.pid && echo reload
;;
*)
echo "Usage: $0 {start|stop|status|restart|reload[|probe]}"
exit 1
;;
esac
# Inform the caller not only verbosely and set an exit status.
test "$return" = "$rc_done" || exit 1
exit 0