1#!/bin/sh
2######################################################################
3#
4# description: kill pppd and remove linked file
5#
6export COLUMNS=256
7LOGFILE="/tmp/lcActiveUSBModem.log"
8echo " start to kill pppd!!! ====" >> $LOGFILE
9
10if [ "$1" = "" ]; then
11	echo " ERROR: Parameter error" >> $LOGFILE
12	echo " Usage: $0 <device_filename>" >> $LOGFILE
13	echo " eg: $0 /dev/ttyUSB0" >> $LOGFILE
14	exit 1
15else
16	DEVICE=$1
17fi
18######################################################################
19#
20
21PID=`ps -ef | grep -v grep | grep -v kill-pppd |grep "$DEVICE" | grep "pppd" | awk '{ print $2; exit }'`
22
23if test $PID; then
24	echo " kill pppd pid $PID " >> $LOGFILE
25        kill -TERM $PID
26
27        sleep 2s
28
29        PID=`ps -ef | grep -v grep | grep "$DEVICE" | grep "pppd" | awk '{ print $2; exit }'`
30       if test $PID; then
31                echo " ERROR: Terminated ppp link to $DEVICE first failed /proc/$PID" >> $LOGFILE
32                kill -KILL $PID
33                sleep 0.1s
34                rm -f /var/run/ppp-LcPhone.pid
35                rm -f /dev/lc_ppp_up
36                if [ -d "/proc/$PID" ]; then
37	           echo " ERROR: Terminated ppp link to $DEVICE second failed /proc/$PID" >> $LOGFILE
38                   exit 3
39                fi
40
41        fi
42#
43# Success. wait 3 seconds to let pppd clean up its own junk.
44        echo " PPP link to $DEVICE terminated" >> $LOGFILE
45        exit 0
46fi
47#
48echo " ERROR: PPP link is not active on $DEVICE" >> $LOGFILE
49exit 2
50