tentative support for stopping multiple tunneldiggers

This commit is contained in:
Marc Juul 2014-01-10 06:03:43 -08:00
parent e130109674
commit 79902dd06c

View File

@ -2,7 +2,7 @@
START=90 START=90
PIDFILE=/var/run/tunneldigger.pid PIDPATH=/var/run
tunnel_id=1 tunnel_id=1
config_cb() { config_cb() {
@ -25,7 +25,7 @@ config_cb() {
broker_opts="${broker_opts} -L ${limit_bw_down}" broker_opts="${broker_opts} -L ${limit_bw_down}"
fi fi
echo "Starting tunneldigger on ${interface}" echo "Starting tunneldigger on ${interface}"
/sbin/start-stop-daemon -S -q -b -m -p $PIDFILE -x /usr/bin/tunneldigger -- -u ${uuid} -i ${interface} -t ${tunnel_id} -s ${hook_script} ${broker_opts} /sbin/start-stop-daemon -S -q -b -m -p ${PIDPATH}/tunneldigger.${interface}.pid -x /usr/bin/tunneldigger -- -u ${uuid} -i ${interface} -t ${tunnel_id} -s ${hook_script} ${broker_opts}
let tunnel_id++ let tunnel_id++
;; ;;
esac esac
@ -36,18 +36,17 @@ start() {
} }
stop() { stop() {
echo "Stopping tunneldigger" for PIDFILE in `find ${PIDPATH}/ -name "tunneldigger\.*\.pid"`; do
if [ -f $PIDFILE ]; then
PID=`cat ${PIDFILE}` PID=`cat ${PIDFILE}`
IFACE=`echo ${PIDFILE} | awk -F\/tunneldigger '{print $2}' | cut -d'.' -f2`
echo "Stopping tunneldigger for interface ${IFACE}"
start-stop-daemon -K -q -p $PIDFILE start-stop-daemon -K -q -p $PIDFILE
while test -d "/proc/${PID}"; do while test -d "/proc/${PID}"; do
echo " waiting for tunneldigger to stop" echo " waiting for tunneldigger to stop"
sleep 1 sleep 1
done done
echo " tunneldigger stopped" echo " tunneldigger stopped"
else done
echo "Looks like tunneldigger wasn't running"
fi
} }
restart() { restart() {