网络关闭或启动时如何重新启动.py?在 RPI [重复]

Posted

技术标签:

【中文标题】网络关闭或启动时如何重新启动.py?在 RPI [重复]【英文标题】:how to restart .py when network down or up ? in RPI [duplicate] 【发布时间】:2018-09-20 05:40:12 【问题描述】:

我想使用我的树莓派将数据更新为 thingspeak。因此,我运行我的 python 代码并使用 Crontab 将其设置为在重新启动时运行。当它在后台运行时,我的 wifi 连接断开,因此脚本停止向云发送数据,即使在网络启动后也是如此。

当网络自动关闭或启动时,有什么方法可以重新启动 .py 文件。

【问题讨论】:

我写了一个代码来在网络中断或网络恢复时弹出 ubuntu 通知。看看它,并根据您的使用情况随意使用它。网址:github.com/abhilashgoyal/python_learn/blob/master/net_notify.py 【参考方案1】:

您可以尝试一个循环来 ping 一个您知道始终处于启动状态的服务,或者您的网关/路由器然后在回复恢复时重新启动 .py 脚本。 (例如,如果没有响应停止,则 ping google.com 并尝试以您希望的任何方法恢复连接)然后一旦您再次获得响应,请重新启动脚本。 像

loop_value = True
while loop_value:
        try:
                urlopen("http://google.com")

对于重启过程,您可以使用subprocess(如果它是单独的脚本,这个会更好)或os.execv。

【讨论】:

以上是关于网络关闭或启动时如何重新启动.py?在 RPI [重复]的主要内容,如果未能解决你的问题,请参考以下文章

当用户在 10 秒内重新启动关闭的 Windows 商店应用程序时如何恢复数据

如何自动强制关闭excel,然后重新启动?

如何通过 bat 文件关闭、重新启动或注销 Windows?

Discord.py - 重新启动命令错误 - RuntimeError:事件循环已关闭

上传大图像时网络连接中止后恢复或重新启动ajax请求?

当我重新启动我的 kafka 代理时,为啥或如何丢失一些消息?