技术解析

树莓派有时不能自动运行任务
0
2021-06-21 08:44:24
idczone

学校每天晚上会自动断电,所有在树莓派设置的晚上自动关机,然后第二天来电它就会开机,当时开机时的任务有时候无法启动,用的 rc.local, 这时候只要再把树莓派再重启一下就可以运行那个任务了,请问 v 友有这样子的嘛,有没有什么解决办法可以开机一定会执行这个任务


买个充电宝,直接接入,没电直接用充电宝的电,就不用定时开启了

你怎么知道任务没有启动,而不是启动后挂了?

如果是 raspbian 可以了解一下以下文件的作用
/home/pi/.config/lxsession/LXDE-pi/autostart

请用 systemd

疑问,是市电接入充电宝,充电宝一直向树莓派供电吗?然后树莓派定时检测某 IP 判断是不是断电了,断电就关机。。。

为啥你要关机。。。就一直开着不好吗

开机执行程序建议用 systemd service 单元,用网络的程序在 network.target 后启动,同时还支持 failed 自动重启
不过 service 文件写起来有点复杂,百度解决吧

crontab 也可以实现开机运行
command

给个调查方向。systemd 有很多 target,其中,network.target 不能保证网络是通的。network-wait-online 如果来自 NetworkManager 也不一定保证能通。
如果一定要执行,请确保网络栈完全初始化。个人觉得 ping 127.0.0.1 和 ping 网关一定得通。

楼上说的有理,
如果树莓派连的是熄灯断电 /网的 wifi,还要检查是不是 rc.local 执行时还没连上 wifi。我猜题主的开机任务包含登录校园网。

买个小型 ups

看一下日志啊,为啥没有启动

有的时候一些网络任务开机启动时树莓派还没连上网就挂掉了
也许想办法判断是否连上网再启动也许会好

买个 ups 吧,24h 不断电,一般的充电宝不行,电网断电切到充电宝的时候会短暂断电

先别管什么买 ups 还是断电不断电的问题,先看启动日志

你还是看一下 添加个启动脚本吧

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服