diff options
author | Bill Nottingham <notting@redhat.com> | 2005-04-15 16:48:07 +0000 |
---|---|---|
committer | Bill Nottingham <notting@redhat.com> | 2005-04-15 16:48:07 +0000 |
commit | cda2a30cad994f3817513bf598ef2de16e4ebab5 (patch) | |
tree | 32e957071af27c330850f0a76915fb4a1908780c | |
parent | 49660b9ccb2247f9d413927c4c72de3b74aa2baa (diff) | |
download | initscripts-cda2a30cad994f3817513bf598ef2de16e4ebab5.tar initscripts-cda2a30cad994f3817513bf598ef2de16e4ebab5.tar.gz initscripts-cda2a30cad994f3817513bf598ef2de16e4ebab5.tar.bz2 initscripts-cda2a30cad994f3817513bf598ef2de16e4ebab5.tar.xz initscripts-cda2a30cad994f3817513bf598ef2de16e4ebab5.zip |
check the pid file so we can print a sane error message (#143640)
-rwxr-xr-x | sysconfig/network-scripts/ifup-eth | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sysconfig/network-scripts/ifup-eth b/sysconfig/network-scripts/ifup-eth index ea89e64d..b96a18b0 100755 --- a/sysconfig/network-scripts/ifup-eth +++ b/sysconfig/network-scripts/ifup-eth @@ -167,11 +167,19 @@ if [ -n "${DYNCONFIG}" -a -x /sbin/dhclient ]; then exit 1 fi + # Check for a a running instance + if [ -f /var/run/dhclient-${DEVICE}.pid ]; then + dhcpid=`cat /var/run/dhclient-${DEVICE}.pid` + if [[ "`readlink /proc/$dhcpid/exe`" =~ "^/sbin/dhclient" ]]; then + echo $" failed - dhclient already running for interface ${DEVICE} ($dhcpid)." + exit 1 + fi + if [ -n "$ETHTOOL_OPTS" ] ; then /sbin/ethtool -s ${REALDEVICE} $ETHTOOL_OPTS fi - if /sbin/dhclient ${DHCLIENTARGS} ${DEVICE} ; then + if /sbin/dhclient ${DHCLIENTARGS} ${DEVICE} >/dev/null 2>&1 ; then echo $" done." else echo $" failed." |