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