Raspbain 启动时自动运行的脚本如何判断网络是否已经连上 ?

想在树莓派上添加个启动时自动运行的程序,但是因为网络没有脸上会报错。
/etc/rc.local 中如何设置命令运行的时机?

阅读 6k
2 个回答

一直 ping 一个公网地址,ping 通了就代表联上网了。

Python方法

1、开机启动,使用request.open去测试公网网址,如www.baidu.com,直至成功

def check_net(testserver):
    try:
        logger.debug("判断网络是否连接")
        ret = request.urlopen(url=testserver, timeout=3.0)
        # print(ret)
    except:
        return False
    return True
# 判断网络是否已经连接

while check_net('https://www.baidu.com') == 0:
    logger.debug("网络尚未连接,sheep 100")
    time.sleep(100)
else:
    logger.debug("网络连接成功")       
    time.sleep(100)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题