#!/bin/bash PATH=/sbin:/usr/sbin:/bin:/usr/bin cd /etc/sysconfig/network-scripts . network-functions CONFIG=$1 source_config if [ ! -f /var/run/ppp-$PPPDEVICE.dev ]; then # ppp isn't running, or we didn't start it exit 0 fi file=/var/run/`cat /var/run/ppp-$PPPDEVICE.dev`.pid # signals ifup-ppp not to persist -- must do this before exiting if PPP # has not yet started ($file does not exist). rm -f /var/run/ppp-$PPPDEVICE.dev if [ ! -f $file ]; then exit 0 fi PID=`cat $file` if [ -z "$PID" ]; then exit 1 fi # pppd might have chat as a child; remember chat's pid to kill after pppd. # (After, not before, so that pppd doesn't just restart it). 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-pppoe "ifdown-pppoe unable to kill pppd-$PPPDEVICE" & else /etc/sysconfig/network-scripts/ifdown-post $1 fi exit 1