You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.0 KiB
51 lines
1.0 KiB
#! /bin/bash |
|
|
|
cd /etc/sysconfig/network-scripts |
|
. ./network-functions |
|
|
|
CONFIG=$1 |
|
source_config |
|
|
|
if [ "$TYPE" = "xDSL" ] && [ -x /usr/sbin/adsl-stop ] ; then |
|
adsl-stop /etc/sysconfig/network-scripts/$CONFIG |
|
exit $? |
|
fi |
|
|
|
CONFIG=${CONFIG##ifcfg-} |
|
|
|
if [ "${DEMAND}" = "yes" ] && [ -f /var/run/ppp-${CONFIG}.pid ] ; then |
|
PID=$(head -1 /var/run/ppp-${CONFIG}.pid) |
|
kill -TERM ${PID} |
|
sleep 2 |
|
[ ! -d /proc/${PID} ] && exit 0 |
|
sleep 5 |
|
[ ! -d /proc/${PID} ] && exit 0 |
|
kill -TERM ${PID} |
|
[ ! -d /proc/${PID} ] && exit 0 |
|
exit 1 |
|
fi |
|
|
|
file=/var/run/pppwatch-${DEVICE}.pid |
|
|
|
if [ ! -f $file ]; then |
|
# ppp isn't running, or we didn't start it |
|
exit 0 |
|
fi |
|
|
|
PID=$(cat $file) |
|
[ -n "${PID}" ] || exit 1 |
|
|
|
kill -TERM ${PID} > /dev/null 2>&1 |
|
[ ! -d /proc/${PID} ] && exit 0 |
|
sleep 2 |
|
[ ! -d /proc/${PID} ] && exit 0 |
|
sleep 5 |
|
[ ! -d /proc/${PID} ] && exit 0 |
|
sleep 10 |
|
[ ! -d /proc/${PID} ] && exit 0 |
|
|
|
# killing ppp-watch twice in a row causes it to send a SIGKILL to pppd pgrp |
|
kill -TERM ${PID} > /dev/null 2>&1 |
|
[ ! -d /proc/${PID} ] && exit 0 |
|
|
|
exit 1
|
|
|