嵌入式Linux:让程序随开机自动运行(基于BusyBox init) |
您所在的位置:网站首页 › linux脚本启动程序和手动启动程序的区别在哪儿 › 嵌入式Linux:让程序随开机自动运行(基于BusyBox init) |
注意:不同系统略有差异。 说明嵌入式Linux,根文件系统通常使用 buildroot 来建立;buildroot 默认是基于 BusyBox 构建根文件系统的。这种方式下默认的 init 程序可以称其为BusyBox init。 /etc/inittab启动后执行sysinit部分,最后执行脚本/etc/init.d/rcS 关机时执行shutdown部分,最先执行脚本/etc/init.d/rcK(也可能没有这一句) /etc/init.d/rcS部分代码如下: for initscript in /etc/init.d/S[0-9][0-9]* do if [ -x $initscript ] ; then echo "[RCS]: $initscript" $initscript fi done也就是说,会自动搜索/etc/init.d下的Snm开头的文件并执行。 看看已有哪些: /etc/init.d # ls -l total 5 -rwxr-x--- 1 1016 1016 119 Jan 25 2024 S00devs -rwxr-x--- 1 1016 1016 146 Jan 25 2024 S01udev -rwxr-x--- 1 1016 1016 1481 Jan 25 2024 rcS -rw-rw-r-- 1 1016 1016 45 Jan 25 2024 rootfs.tgz 开机启动的Smn脚本如果应用不依赖于其他脚本(即顺序无关),且不依赖rcS后续执行内容,直接写个Smn的脚本是可以的。 如果希望自己的程序一直运行,可以转到后台。 最后执行的脚本在实际开发中,吾发现自己写的Smn脚本并不能正确执行。原因是脚本依赖rcS后面的语句。有两个办法: 在rcS的最后加上执行语句。 发现系统rcS最后执行一句/opt/start.sh,吾把执行语句加到start.sh。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |