前言
经过一段时间的调试,我发现ppp拨号获取网络延迟程度很高,因此上一篇博文里用ping网来判别断线与否很不稳定,于是我重新设计一个脚本,这个脚本的缺点是响应偏慢,优点是可以容忍更大的ping延迟(我当前最大延迟是30s)。
。。。。。。。。。。。。。。。。。。。。。。。。。。。
2020.6.1 日
后续优化发现一个问题需要等待50s判断拨号失败太久了,应该如何优化呢?切入点有2个
- 结束进程,对此测试结果为kill %num有效,killall pppd 无效
- 缩短判定时间,对此没有找到可以修改的文件,暂时搁置
。。。。。。。。。。。。。。。。。。。。。。。。。。。
2020.6.1 日
重新研究killall 命令,得出解决方案最终生成第三版本,提高效率
脚本编写
设计思路:
拨号通过后会在目录:/var/run/ 下生成一个文件:ppp0.pid,如果拨号断开这个文件会删除
因此可以通过判别这个文件的存在来进行判断模块的ppp通路是否联通。
代码
先在目录下创建:
vi /bin/my_pppd.sh
再键入代码: