This resolves an issue where $! returns the PID of the sudo process instead
of the PID of OpenVPN and when sudo does not properly propagate signales
down to OpenVPN.
Trac: #738
Signed-off-by: David Sommerseth <davids@openvpn.net>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <
1474104026-20615-1-git-send-email-davids@openvpn.net>
URL: http://www.mail-archive.com/search?l=mid&q=
1474104026-20615-1-git-send-email-davids@openvpn.net
Signed-off-by: Gert Doering <gert@greenie.muc.de>
continue
fi
+ pidfile="${top_builddir}/tests/$LOGDIR/openvpn-$SUF.pid"
+ openvpn_conf="$openvpn_conf --writepid $pidfile"
echo " run openvpn $openvpn_conf"
echo "# src/openvpn/openvpn $openvpn_conf" >$LOGDIR/$SUF:openvpn.log
$RUN_SUDO "${top_builddir}/src/openvpn/openvpn" $openvpn_conf >>$LOGDIR/$SUF:openvpn.log &
- opid=$!
+ sleep 3 # Wait for OpenVPN to initialize and have had time to write the pid file
+ opid=`cat $pidfile`
+ echo " OpenVPN running with PID $opid"
# make sure openvpn client is terminated in case shell exits
trap "$RUN_SUDO kill $opid" 0