目前OpenWrt Luci Web界面中的“启动项”下有一个“本地启动脚本”:
本地启动脚本
启动脚本插入到exit 0
之前即可随系统启动运行。
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
sleep 10s && python /usr/bin/<example_python> > /dev/null 2>&1
sleep 10s && /etc/init.d/<example_service> start
exit 0
现在我将连接网络(某校园网验证)所使用的Python守护程序<example_python>
写在此处。由于该程序为守护程序,会一直运行。所以在该项之后启动的所有程序都不会启动(例如上述代码中的<example_service>
),除非Python程序被手动停止。
但是我还有程序<example_service>
需要在联网之后才能启动,否则会无法达到预期功能,所以必须在Python程序<example_python>
启动之后才能启动。
由于启动未结束,某些命令例如reboot
也无法正常执行。
- 这个“本地启动脚本”的文件路径为?
- 如上面所述,顺序启动被某程序阻碍的问题该如何解决?(上文提到的Python程序可以修改,但是无法改变其原有功能)
当然最“正宗”的办法是写一个服务,通过配置
START=NN
变量,来控制服务的启动顺序。