From 48a94db091878801b961699304aee75b866a0961 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Thu, 4 Oct 2012 14:40:00 +0200 Subject: [PATCH] gmap-report now runs in background and will safely kill a previously running instance --- planetlab/scripts/sliver-ovs.in | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/planetlab/scripts/sliver-ovs.in b/planetlab/scripts/sliver-ovs.in index 9af130e10..08bef1cd3 100755 --- a/planetlab/scripts/sliver-ovs.in +++ b/planetlab/scripts/sliver-ovs.in @@ -289,19 +289,18 @@ function gmap_report () { linkid=$1; shift looptime=$1; shift [ -z "$looptime" ] && looptime=1 -# we'd need a means to avoid running 2 instances at the same time -# but it's kind of hard to keep track of the right pid here.. -# pidfile=/var/run/openvswitch/gmap-$iface.pid -# if [ -f $pidfile ] ; then -# pid=$(cat $pidfile) -# [ -n "$pid" ] && kill $pid -# rm $pidfile -# fi + pid_file=/var/run/openvswitch/gmap-$iface.pid + if [ -f $pid_file ] ; then + pid=$(cat $pid_file) + [ -n "$pid" ] && kill $pid >& /dev/null + rm $pid_file + fi while true; do -# echo $$ > $pidfile gmap_report_once $iface $hostname $linkid sleep $looptime - done + done & + # this is the pid for the background process + echo $! > $pid_file } #################### -- 2.43.0