#!/bin/sh
#
# /etc/init.d/foolsm
#
# This shellscript takes care of starting and stopping foolsm.
#
# chkconfig: - 79 31
# description: Foolsm, Link Status Monitor
#
### BEGIN INIT INFO
# Provides: foolsm
# Required-Start: $network $syslog
# Required-Stop:
# Default-Start:
# Default-Stop: 0 1 6
# Short-Description: Foolsm - link status monitor
# Description: Foolsm is the link status monitor
# Foolsm can ping multiple targets and when up or down event happens
# it will execute user configured external script so it can be used
# as poor man's routing protocol.
### END INIT INFO
# Source function library.
. /etc/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
CONFIGFILE="/etc/foolsm/foolsm.conf"
PIDFILE="/var/run/foolsm.pid"
[ -f /etc/sysconfig/foolsm ] && . /etc/sysconfig/foolsm
[ -x /usr/sbin/foolsm ] || exit 0
RETVAL=0
start() {
echo -n $"Starting foolsm: "
daemon --pidfile=${PIDFILE} /usr/sbin/foolsm --config $CONFIGFILE --pidfile $PIDFILE
RETVAL=$?
/bin/usleep 10000
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/foolsm
return $RETVAL
}
stop() {
echo -n $"Stopping foolsm: "
killproc /usr/sbin/foolsm
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/foolsm
return $RETVAL
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading foolsm: "
killproc -p ${PIDFILE} /usr/sbin/foolsm -HUP
RETVAL=$?
echo
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
condrestart)
[ -f /var/lock/subsys/foolsm ] && restart
;;
status)
status -p ${PIDFILE} foolsm
RETVAL=$?
;;
*)
echo "Usage: foolsm {start|stop|restart|condrestart|status}"
RETVAL=2
esac
exit $RETVAL