| #! /bin/sh |
| # |
| # chkconfig: - 27 46 |
| # description: A software watchdog |
| # |
| # rc file author: Marc Merlin <marcsoft@merlins.org> |
| # Henning P. Schmiedehausen <hps@tanstaafl.de> |
| |
| # Source function library. |
| . /etc/rc.d/init.d/functions |
| |
| [ -x /usr/sbin/watchdog -a -e /etc/watchdog.conf ] || exit 0 |
| |
| VERBOSE="no" |
| if [ -f /etc/sysconfig/watchdog ]; then |
| . /etc/sysconfig/watchdog |
| fi |
| |
| RETVAL=0 |
| prog=watchdog |
| pidfile=/var/run/watchdog.pid |
| lockfile=/var/lock/subsys/watchdog |
| |
| start() { |
| |
| echo -n $"Starting $prog: " |
| if [ -n "$(pidofproc $prog)" ]; then |
| echo -n $"$prog: already running" |
| echo_failure |
| echo |
| return 1 |
| fi |
| if [ "$VERBOSE" = "yes" ]; then |
| daemon /usr/sbin/${prog} -v |
| else |
| daemon /usr/sbin/${prog} |
| fi |
| RETVAL=$? |
| [ $RETVAL -eq 0 ] && touch $lockfile |
| [ $RETVAL -eq 0 ] && echo_success |
| [ $RETVAL -ne 0 ] && echo_failure |
| echo |
| return $RETVAL |
| } |
| |
| stop() { |
| echo -n "Stopping $prog: " |
| # We are forcing it to _only_ use -TERM as killproc could use |
| # -KILL which would result in BMC timer not being set properly |
| # and reboot the box. |
| killproc $prog -TERM |
| RETVAL=$? |
| echo |
| [ $RETVAL -eq 0 ] && rm -f $lockfile $pidfile |
| return $RETVAL |
| } |
| |
| restart() { |
| stop |
| sleep 6 |
| start |
| } |
| |
| case "$1" in |
| start) |
| start |
| ;; |
| stop) |
| stop |
| ;; |
| reload|restart) |
| restart |
| ;; |
| condrestart) |
| if [ -f $lockfile ]; then |
| restart |
| fi |
| ;; |
| status) |
| status $prog |
| RETVAL=$? |
| ;; |
| *) |
| echo $"Usage: $0 {start|stop|restart|status|condrestart}" |
| exit 1 |
| esac |