最小Linux系统中如何实现开机自动运行程序(进程)

一、目标

将交叉编译生成的可执行文件,放到最小Linux系统中,然后实现板子开机后,最小Linux系统运行起来后,自动执行可执行文件,并将可执行文件进程挂到后台运行。

 

二、实现

1、生成目标可执行文件

例:

在Ubuntu系统中,创建文件“autorunning.c”,输入以下代码,保持退出。

最小Linux系统中如何实现开机自动运行程序(进程)_第1张图片

使用命令编译:arm-none-linux-gnueabi-gcc -o autorunning autorunning.c -static

交叉编译器编译后生成可执行文件:autorunning

例:

 

2、目标可执行文件拷贝到最小Linux系统中

比如我将“autorunning”拷贝到板子Linux系统中的“/home/usr”目录。

(将文件从Ubuntu虚拟机拷贝到板子上有多种方式:TFTP下载、NFS挂载、U盘等)

例:

3、修改rcS脚步

修改"/etc/init.d/"目录下的启动脚本rcS文件。

在rcS文件最后添加脚本“/home/usr/autorunning &”,保持退出rcS文件,(“/home/usr/autorunning &”即目标可执行文件的存放路径,其中“&”表示将该进程挂到后台运行。)

例:

 

最小Linux系统中如何实现开机自动运行程序(进程)_第2张图片

4、测试验证

重启板子。

最小Linux系统跑起来后,可以看“autorunning”可执行文件的打印,即实现了开机自动运行目标程序。

例:

最小Linux系统中如何实现开机自动运行程序(进程)_第3张图片

查看后台进程情况,可以看到“autorunning”进程挂载到后台运行了。

例:

最小Linux系统中如何实现开机自动运行程序(进程)_第4张图片

 

三、说明

1、rcS文件

“/etc/init.d/rcS ”脚本,linux系统中以最高优先级第一个被执行的启动脚本。通过rcS脚本可以控制Linux系统中启动的服务,从而可以实现对Linux服务进行裁剪,控制启动流程。例如,本文中,我们通过在rcS中增加启动目标服务的脚本,从而实现开机后自动运行程序功能。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(linux_app)