瑞芯微RV1126B开发板(EASY-EAI-PI2) 应用程序开机自启动
·
1. 简要介绍
开机自启动涉及到四个脚本文件。分别是:rc.local、S99_userapp、start_app.sh、stop_app.sh。
1.1 脚本说明:
/etc/rc.local:这个脚本是Linux文件系统启动后第一个程序就会去调用的脚本。它会去/etc/init.d/下面,按命名顺序,遍历调用所有脚本。(如A41会比S41先调用,S41会比S99先调用)
/etc/init.d/S99_userapp:这个是专用于管理用户应用程序启/停的脚本。
/userdata/start_app.sh:用户应用程序的启动逻辑通常写进这里,里面可以随意修改。
/userdata/stop_app.sh:用户应用程序的结束逻辑通常写进这里,里面可以随意修改。
1.2 调用顺序及关系:

2. 详细说明:
2.1 /etc/init.d/S99_userapp
系统的自带的启动脚本,如有需要可自行修改。
#!/bin/sh
source /etc/profile
case "$1" in
start)
if [ -e /userdata/start_app.sh ];then
/userdata/start_app.sh &
fi
;;
stop)
if [ -e /userdata/stop_app.sh ];then
/userdata/stop_app.sh &
fi
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0
把绝对路径执行脚本的命令添加到脚本“/etc/init.d/S99_userapp”的case start分支中,系统启动时就会自动执行这句命令,从而启动用户空间的应用脚本。
2.2 /userdata/start_app.sh
板卡出厂自带的启动脚本,如有需要统筹管理多个启动脚本,则可修改此对脚本。
#!/bin/sh
if [ -e /userdata/apps/run.sh ];then
cd /userdata/apps && ./run.sh
fi
2.3 /userdata/stop_app.sh
#!/bin/sh
# Kill your app when shutdown system. For example:
# killall facialGate
3. 操作指导:
3.1 注意事项说明:
通常用户的程序启动后就不会退出,所以要在程序执行命令后面添加“&”使之在后台运行,这样就不会阻塞其它启动脚本的运行。
./qSolu-facialGate &
若用户有自己的动态库在用户空间中,也可以在启动脚本内添加环境变量。
source /etc/profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/userdata/mylib/
如果要开机自动启动的是QT程序,且有对QT环境变量有自定义的要求,则还可以设置QT环境变量。
export QT_QPA_FB_DRM=1
export QT_QPA_PLATFORM=linuxfb:rotation=0
#export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event5:rotate=180
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)