diff options
| -rwxr-xr-x | sysconfig/network-scripts/ifdown | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sysconfig/network-scripts/ifdown b/sysconfig/network-scripts/ifdown index 703a1120..a28e9af2 100755 --- a/sysconfig/network-scripts/ifdown +++ b/sysconfig/network-scripts/ifdown @@ -82,14 +82,19 @@ fi; retcode=0 [ -n "`pidof -x dhclient`" ] && { if [ -f "/var/run/dhclient-${DEVICE}.pid" ]; then + dhcpid=`cat /var/run/dhclient-${DEVICE}.pid` if [[ "$DHCPRELEASE" = [yY1]* ]]; then /sbin/dhclient -r -lf /var/lib/dhcp/dhclient-${DEVICE}.leases -pf /var/run/dhclient-${DEVICE}.pid ${DEVICE} >/dev/null 2>&1 + retcode=$? else + kill $dhcpid >/dev/null 2>&1 + recode=$? reason=STOP interface=${DEVICE} /sbin/dhclient-script fi - kill `cat /var/run/dhclient-${DEVICE}.pid` >/dev/null 2>&1 - retcode=$? - rm -f /var/run/dhclient-${DEVICE}.pid + if [ -f "/var/run/dhclient-${DEVICE}.pid" ]; then + rm -f /var/run/dhclient-${DEVICE}.pid + kill $dhcpid >/dev/null 2>&1 + fi fi } [ -n "`pidof -x dhcpcd`" ] && { |
