#!/bin/sh start() { if [ -x /usr/sbin/watchquagga ]; then for i in zebra bgpd ripd ospfd ripngd ospf6d isisd; do if [ -e /var/run/quagga/$i.pid ] ; then WATCHSERVICES="${WATCHSERVICES} ${i}" fi done echo -n "Starting watchquagga: " /usr/sbin/watchquagga -dz -R '/etc/rc.d/rc.quagga restart' $WATCHSERVICES || exit 1 echo "done" fi } stop() { echo -n "Stopping watchquagga: " killall watchquagga 2>/dev/null && echo -n "done" || echo -n "not started" echo } restart() { stop && sleep 2s && start } case "$1" in 'start') start ;; 'stop') stop ;; 'restart') restart ;; *) echo "usage $0 start|stop|restart" esac