From 0a121a8ecd6de894c14d60daf9da2022ec47405c Mon Sep 17 00:00:00 2001 From: Guillaume Cottenceau Date: Mon, 11 Jun 2001 13:49:39 +0000 Subject: Initial revision --- mdk-stage1/rp-pppoe/scripts/adsl-stop.in | 84 ++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100755 mdk-stage1/rp-pppoe/scripts/adsl-stop.in (limited to 'mdk-stage1/rp-pppoe/scripts/adsl-stop.in') diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-stop.in b/mdk-stage1/rp-pppoe/scripts/adsl-stop.in new file mode 100755 index 000000000..af0867573 --- /dev/null +++ b/mdk-stage1/rp-pppoe/scripts/adsl-stop.in @@ -0,0 +1,84 @@ +#!/bin/sh +# @configure_input@ +#*********************************************************************** +# +# adsl-stop +# +# Shell script to bring down an ADSL connection +# +# Copyright (C) 2000 Roaring Penguin Software Inc. +# +# $Id$ +# +# This file may be distributed under the terms of the GNU General +# Public License. +# +# Usage: adsl-stop [config_file] +# If config_file is omitted, defaults to /etc/ppp/pppoe.conf +# +#*********************************************************************** + +ME="`basename $0`" +LOGGER="/usr/bin/logger -t $ME" +CONFIG="$1" +if [ "$CONFIG" = "" ] ; then + CONFIG=/etc/ppp/pppoe.conf +fi + +if [ ! -f "$CONFIG" -o ! -r "$CONFIG" ] ; then + echo "$ME: Cannot read configuration file '$CONFIG'" >& 2 + exit 1 +fi + +. $CONFIG + +PPPOE_PIDFILE="$PIDFILE.pppoe" +PPPD_PIDFILE="$PIDFILE.pppd" +STARTPID="$PIDFILE.start" + +# Backward config file compatibility +if test "$DEMAND" = "" ; then + DEMAND=no +fi + +# Ignore SIGTERM +trap "" 15 + +# Check for pidfile +if [ -r "$PIDFILE" ] ; then + PID=`cat $PIDFILE` + + # Check if still running + kill -0 $PID > /dev/null 2>&1 + if [ $? != 0 ] ; then + echo "$ME: The adsl-connect script (PID $PID) appears to have died" >& 2 + fi + + # Kill pppd, which should in turn kill pppoe + if [ -r "$PPPD_PIDFILE" ] ; then + PPPD_PID=`cat "$PPPD_PIDFILE"` + $LOGGER -p daemon.notice "Killing pppd" + echo "Killing pppd ($PPPD_PID)" + kill $PPPD_PID > /dev/null 2>&1 || exit 1 + fi + + # Kill adsl-start + PIDS=`cat $STARTPID` + kill -0 $PIDS > /dev/null 2>&1 + if [ $? = 0 ] ; then + $LOGGER -p daemon.notice "Killing adsl-connect" + kill $PIDS > /dev/null 2>&1 + fi + + # Kill adsl-connect + $LOGGER -p daemon.notice "Killing adsl-connect" + echo "Killing adsl-connect ($PID)" + kill $PID > /dev/null 2>&1 + + rm -f "$PIDFILE" "$PPPD_PIDFILE" "$PPPOE_PIDFILE" "$STARTPID" +else + echo "$ME: No ADSL connection appears to be running" >&2 + exit 1 +fi + +exit 0 -- cgit v1.2.1