summaryrefslogtreecommitdiff
path: root/packages/quagga/files/watchquagga.init
blob: 79be16d3e6450c7a4b55f98f2d6319dd3e651244 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/sh
#
# /etc/init.d/watchquagga -- start/stop the Quagga watchdog
#
PATH=/bin:/usr/bin:/sbin:/usr/sbin

# Load configuration
test -f /etc/default/watchquagga && . /etc/default/watchquagga

# Check that there are daemons to be monitored.
[ -z "$watch_daemons" ] && exit 0

pidfile="/var/run/quagga/watchquagga.pid"

case "$1" in
    start)
	echo -n "Starting quagga watchdog daemon: watchquagga"
	start-stop-daemon --start \
		--pidfile $pidfile \
		--exec /usr/lib/quagga/watchquagga \
		-- -d $watch_options $watch_daemons
	echo "."
    	;;
	
    stop)
	echo -n "Stopping quagga watchdog daemon: watchquagga"
	start-stop-daemon --stop --quiet \
		--pidfile $pidfile
	echo "."
	;;

    status)
	echo -n "watchquagga "
	res=1
	[ -e $pidfile ] && kill -0 `cat $pidfile` 2> /dev/null
	if [ $? -eq 0 ]; then
	    echo "(pid `cat $pidfile`) is running..."
	    res=0
	else
	    echo "is stopped..."
	fi
	exit $res
	;;

    restart|force-reload)
	$0 stop $2
	sleep 1
	$0 start $2
	;;

    *)
	echo "Usage: /etc/init.d/watchquagga {start|stop|restart|force-reload}"
	exit 1
	;;
esac

exit 0