树莓派有时不能自动运行任务

2019-03-15 22:55:06 +08:00
 nuluho

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

3943 次点击
所在节点    Linux
16 条回复
MeteorCat
2019-03-15 22:59:27 +08:00
买个充电宝,直接接入,没电直接用充电宝的电,就不用定时开启了
billlee
2019-03-15 23:01:50 +08:00
你怎么知道任务没有启动,而不是启动后挂了?
7654
2019-03-15 23:21:21 +08:00
如果是 raspbian 可以了解一下以下文件的作用
/home/pi/.config/lxsession/LXDE-pi/autostart
CEBBCAT
2019-03-15 23:50:18 +08:00
请用 systemd
nfroot
2019-03-16 00:23:36 +08:00
@MeteorCat 疑问,是市电接入充电宝,充电宝一直向树莓派供电吗?然后树莓派定时检测某 IP 判断是不是断电了,断电就关机。。。
yingfengi
2019-03-16 00:34:43 +08:00
@nfroot #5 为啥你要关机。。。就一直开着不好吗
jim9606
2019-03-16 02:35:52 +08:00
开机执行程序建议用 systemd service 单元,用网络的程序在 network.target 后启动,同时还支持 failed 自动重启
不过 service 文件写起来有点复杂,百度解决吧
uuspider
2019-03-16 03:56:59 +08:00
crontab 也可以实现开机运行

@reboot command
mlyy
2019-03-16 05:40:54 +08:00
给个调查方向。systemd 有很多 target,其中,network.target 不能保证网络是通的。network-wait-online 如果来自 NetworkManager 也不一定保证能通。

如果一定要执行,请确保网络栈完全初始化。个人觉得 ping 127.0.0.1 和 ping 网关一定得通。
xmoiduts
2019-03-16 05:52:27 +08:00
楼上#9 说的有理,
如果树莓派连的是熄灯断电 /网的 wifi,还要检查是不是 rc.local 执行时还没连上 wifi。我猜题主的开机任务包含登录校园网。
vtwoextb
2019-03-16 09:36:10 +08:00
买个小型 ups
Tink
2019-03-16 10:29:43 +08:00
看一下日志啊,为啥没有启动
zephyru
2019-03-16 10:37:12 +08:00
有的时候一些网络任务开机启动时树莓派还没连上网就挂掉了
也许想办法判断是否连上网再启动也许会好
Kiota
2019-03-16 10:39:39 +08:00
买个 ups 吧,24h 不断电,一般的充电宝不行,电网断电切到充电宝的时候会短暂断电
allen0125
2019-03-16 10:50:28 +08:00
先别管什么买 ups 还是断电不断电的问题,先看启动日志
qfdk
2019-03-17 03:30:24 +08:00
你还是看一下 添加个启动脚本吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/545146

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX