auto restarting a ppp connection
Giorgos Keramidas
keramida at ceid.upatras.gr
Fri May 2 08:22:12 PDT 2003
On 2003-05-02 21:44, Paul Hamilton <paul at computerwest.com.au> wrote:
> Hi All,
>
> I am running FreeBSD 4.7, and using the built in ppp (and ppp nat),
> software to make a pppoe connection.
>
> Once or twice a month my ISP does something that causes my connection
> to be blocked. The only way to fix this is to kill the ppp connection
> and re-start it. I have tried to put the whole routine into a script,
> ie, find the pid, kill it, wait, then restart the ppp connection. The
> idea, was that I could link it with a ping tester, then when I miss
> 'x' number of pings, restart the connection. This is what I used:-
>
> --snip---
>
> PPP=`ps -ax | grep "ppp -nat" | grep -v "grep" | cut -c 1-6`
> if test $PPP
> #if test $PPP != ""
> then
> kill -15 $PPP
> echo Wait for 5 seconds to properly kill the old PPP process
> printf "%s" "."
> sleep 1
> printf "%s" "."
> sleep 1
> printf "%s" "."
> sleep 1
> printf "%s" "."
> sleep 1
> printf "%s" "."
> sleep 1
> printf "%s\n" "."
> sleep 1
> else
> echo
> echo No PPP process found to kill
> fi
> ---snip---
>
> I found that my script had problems with killing the ppp pid, in that it
> didn't really kill the ppp process, until the script had exited.
After the 5 seconds have passed it's relatively "safe" to kill -9 $PPP.
Whenever there is a problem with my PPP connection,
I write something like this:
killall ppp ; sleep 5 ; killall ppp ; sleep 10 ; killall -9 ppp
:)
More information about the freebsd-questions
mailing list