一、需求
1、假设我要在Linux系统开机后即启动某一程序。即程序自启动。
二、分析
1、在相应的启动脚本中按照规则加上对应的启动脚本语句,使用最多的启动脚本是 rc.local 文件。大家习惯在rc.local文件中配置启动信息(也可以在别的启动脚本中配置)。
三、写入配置信息对应的语法
1、直符合shell就可以。
四、linux启动流程
1、启动流程
(1)加载BIOS的硬件信息与进行自我测试, 并依据设置取得第一个可启动的设备;
(2)读取并执行第一个启动设备内MBR的boot loader(即grub、spfdisk等程序);
(3)一句boot loader 的设置加载Kernel,Kernel会开始检测硬件与加载驱动程序;
(4)在硬件驱动成功后,Kernel会主动调用init进程,而 init 会取得 run-level 信息;
(5)init 执行/etc/rc.d/rc.sysinit 文件来准备软件执行的操作环境(如网络时区等);
(6)init 执行 run-level 的各个服务器的启动(script方式);
(7)init 执行/etc/rc.d/rc.local 文件;
(8)init 执行终端机模拟程序 mingetty 来启动login 进程,最后就等待用户登陆。
五、举例
1、在imx6板子上linux系统中设置自启动程序
(1)在执行文件所在的路径下,编写对应的 .sh 脚本文件,并chmod 对应的权限
//
#!/bin/sh
cd /run/meida/mmcblk0p4/Sen/
./test &
//
(2)在/etc/rc.local文件中加入如下
//
source /etc/init.d/qt_init_opengl.sh &
sh /run/media/mmcblk0p4/Sen/test_start.sh &
//
(3)开机后就能自启动
致谢
1、《鸟哥的Linux私房菜》[第三版] 作者 鸟哥
4、/etc/rc.local 与 /etc/init.d Linux 开机自动运行程序