1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun### BEGIN INIT INFO 4*4882a593Smuzhiyun# Provides: watchquagga 5*4882a593Smuzhiyun# Required-Start: $local_fs $network $remote_fs $syslog 6*4882a593Smuzhiyun# Required-Stop: $local_fs $network $remote_fs $syslog 7*4882a593Smuzhiyun# Default-Start: 2 3 4 5 8*4882a593Smuzhiyun# Default-Stop: 0 1 6 9*4882a593Smuzhiyun# Short-Description: start and stop the Quagga watchdog 10*4882a593Smuzhiyun### END INIT INFO 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunPATH=/bin:/usr/bin:/sbin:/usr/sbin 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun# Load configuration 15*4882a593Smuzhiyuntest -f /etc/default/watchquagga && . /etc/default/watchquagga 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun# Check that there are daemons to be monitored. 18*4882a593Smuzhiyun[ -z "$watch_daemons" ] && exit 0 19*4882a593Smuzhiyun 20*4882a593Smuzhiyunpidfile="/var/run/quagga/watchquagga.pid" 21*4882a593Smuzhiyun 22*4882a593Smuzhiyuncase "$1" in 23*4882a593Smuzhiyun start) 24*4882a593Smuzhiyun echo -n "Starting quagga watchdog daemon: watchquagga" 25*4882a593Smuzhiyun start-stop-daemon --start \ 26*4882a593Smuzhiyun --pidfile $pidfile \ 27*4882a593Smuzhiyun --exec /usr/sbin/watchquagga \ 28*4882a593Smuzhiyun -- -d $watch_options $watch_daemons 29*4882a593Smuzhiyun echo "." 30*4882a593Smuzhiyun ;; 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun stop) 33*4882a593Smuzhiyun echo -n "Stopping quagga watchdog daemon: watchquagga" 34*4882a593Smuzhiyun start-stop-daemon --stop --quiet \ 35*4882a593Smuzhiyun --pidfile $pidfile 36*4882a593Smuzhiyun echo "." 37*4882a593Smuzhiyun ;; 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun status) 40*4882a593Smuzhiyun echo -n "watchquagga " 41*4882a593Smuzhiyun res=1 42*4882a593Smuzhiyun [ -e $pidfile ] && kill -0 `cat $pidfile` 2> /dev/null 43*4882a593Smuzhiyun if [ $? -eq 0 ]; then 44*4882a593Smuzhiyun echo "(pid `cat $pidfile`) is running..." 45*4882a593Smuzhiyun res=0 46*4882a593Smuzhiyun else 47*4882a593Smuzhiyun echo "is stopped..." 48*4882a593Smuzhiyun fi 49*4882a593Smuzhiyun exit $res 50*4882a593Smuzhiyun ;; 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun restart|force-reload) 53*4882a593Smuzhiyun $0 stop $2 54*4882a593Smuzhiyun sleep 1 55*4882a593Smuzhiyun $0 start $2 56*4882a593Smuzhiyun ;; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun *) 59*4882a593Smuzhiyun echo "Usage: /etc/init.d/watchquagga {start|stop|restart|force-reload}" 60*4882a593Smuzhiyun exit 1 61*4882a593Smuzhiyun ;; 62*4882a593Smuzhiyunesac 63*4882a593Smuzhiyun 64*4882a593Smuzhiyunexit 0 65