- # Unmount network filesystems first before shutting down network
- NETMOUNTS="$(awk '{if($1~/:/){print $2}}' /proc/mounts 2>/dev/null)"
- if [ -n "$NETMOUNTS" ]; then
- log_begin_msg "Unmounting network filesystems."
- umount -t nfs -arvf 2>/dev/null ; log_end_msg $?
- fi
- # Shutdown network
- NETDEVICES="$(awk -F: '/eth.:/{print $1}' /proc/net/dev 2>/dev/null)"
- if [ -n "$NETDEVICES" ]; then
- pidof pump >/dev/null 2>&1 && { pump -k ; sleep 2; }
- log_begin_msg "Shutting down network device..."
- for n in $NETDEVICES; do
- echo "${SUBMSG} ${WHITE}$n${NORMAL}"
- ifconfig $n down
- done ; log_end_msg $?
- fi
- log_begin_msg "Syncing local filesystems..."
- sync && sleep 1 ; log_end_msg $?
+ # Unmount network filesystems first before shutting down network
+ NETMOUNTS="$(awk '{if($1~/:/){print $2}}' /proc/mounts 2>/dev/null)"
+ if [ -n "$NETMOUNTS" ]; then
+ log_begin_msg "Unmounting network filesystems."
+ umount -t nfs,nfs4,smbfs -alvf 2>/dev/null
+ fi
+ # Shutdown network
+ NETDEVICES="$(/sbin/ifconfig | awk '/^[^ ]+/ {print $1}' | grep -v '^lo$')"
+ if [ -n "$NETDEVICES" ]; then
+ pidof pump >/dev/null 2>&1 && { pump -k ; sleep 2; }
+ killall dhclient dhclient3 2>/dev/null
+ log_begin_msg "Shutting down network device..."
+ for n in $NETDEVICES; do
+ echo "${SUBMSG} ${WHITE}$n${NORMAL}"
+ ifdown $n 1>/dev/null 2>&1
+ ifconfig $n down
+ done ; log_end_msg $?
+ fi
+ log_begin_msg "Syncing local filesystems..."
+ sync && sleep 1 ; log_end_msg $?