- 论坛徽章:
- 0
|
原理机制:
有两个shell脚本, 1个是用来每5分钟ping一次百度, 然后把结果写入文本文件; 另外一个是每隔8分钟来读取该文本文件中出现"网络故障"的次数, 如果超过2次以上的"网络故障"则重启系统, 这两个脚本都是用while死循环体来控制时间间隔. 这两个脚本可以通过测试.
遇到问题:
我把这两个shell脚本放到开机启动项中(/etc/rc.local)出现问题, 发现重启后这两个脚本只有pingReboot1.sh的线程启动了, 而第二个未启动.
下面是我写的shell脚本命令:
- #!/bin/sh -e
- #
- # rc.local
- #
- /home/ken/pingReboot1.sh
- /home/ken/pingReboot2.sh
- exit 0
复制代码 详细
下面是第一个脚本单独执行的情况, while死循环, 没ping到百度就报了错(我关闭了网络), 在终端执行后就是一直卡住(因为是死循环), 我要打开新一个终端才能运行第二个脚本pingReboot2.sh.- root@ubuntu:/home/ken# ./pingReboot1.sh
- ping: unknown host www.baidu.com
复制代码 |
|