diff options
Diffstat (limited to 'sysconfig/network-scripts/ifdown-ppp')
-rwxr-xr-x | sysconfig/network-scripts/ifdown-ppp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/sysconfig/network-scripts/ifdown-ppp b/sysconfig/network-scripts/ifdown-ppp new file mode 100755 index 00000000..31845640 --- /dev/null +++ b/sysconfig/network-scripts/ifdown-ppp @@ -0,0 +1,44 @@ +#!/bin/bash +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +cd /etc/sysconfig/network-scripts + +. $1 + +if [ ! -f /var/run/ppp-$DEVICE.dev ]; then + # ppp isn't running, or we didn't start it + exit 0 +fi + +file=/var/run/`cat /var/run/ppp-$DEVICE.dev`.pid +if [ ! -f $file ]; then + exit 0 +fi + +# signals ifup-ppp not to persist +rm -f /var/run/ppp-$DEVICE.dev + +PID=`cat $file` +if [ -z "$PID" ]; then + exit 1 +fi + +kill $PID > /dev/null 2>&1 +if [ ! -d /proc/$PID ]; then + /etc/sysconfig/network-scripts/ifdown-post $1 + exit 0 +fi +sleep 2 +if [ ! -d /proc/$PID ]; then + /etc/sysconfig/network-scripts/ifdown-post $1 + exit 0 +fi + +kill -KILL $PID > /dev/null 2>&1 +if [ -d /proc/$PID ]; then + logger -p daemon.info -t ifdown-ppp "ifdown-ppp unable to kill pppd-$DEVICE" & +else + /etc/sysconfig/network-scripts/ifdown-post $1 +fi + +exit 1 |