嵌入式Linux:让程序随开机自动运行(基于BusyBox init)

您所在的位置:网站首页 linux脚本启动程序和手动启动程序的区别在哪儿 嵌入式Linux:让程序随开机自动运行(基于BusyBox init)

嵌入式Linux:让程序随开机自动运行(基于BusyBox init)

2024-07-10 00:02| 来源: 网络整理| 查看: 265

注意:不同系统略有差异。

说明

嵌入式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