linux开机启动记录

Linux的开机启动配置随linux的版本不同,有一些不同之处。

网上说的那些配置文件如 inittab,rc.local,rc.d并不是都有的,这对初学者造成了困惑。

有没有什么是比较通用的方式呢,还好有!

 

①  :linux中有个东西叫做“运行级别”,在命令行中敲runlevel后回车,能够获取当前系统的运行级别(N 0~N 6)。

 

②  :运行级别的不同,对应系统开机时的启动过程、启动脚本也不同,各运行级别对应的启动脚本,存放地点就是/etc下的rc0.d~rc6.d这些文件夹。

 

③  :使用命令ls -all查看rc0.d~rc6.d任一文件夹中的文件,发现这里面都是链接,链接的文件都指向/etc/init.d/。这就意味着实际运行的启动脚本都在/etc/init.d/中,不要问为什么设计成这吊样,我也不知道为啥。。。

 

④  :于是依葫芦画瓢:

1:在/etc/init.d中创建一个我们需要的开机启动脚本(保证脚本的权限,直接chmod 777拉倒,省得烦)。

2: 然后在系统正常运行时的runlevel对应的/etc/rcX.d下,建立一个指向刚刚在/etc/init.d中新创建的脚本就可以了(有点绕。此外注意:链接名字的有效部分和实际脚本名字请取一样的,如实际脚本若为zhouke,那么链接文件应叫Sxxzhouke,xx指编号,随意)。

linux开机启动记录_第1张图片

3:重启测试。

 

(树莓派1、2、3官网系统镜像,ubuntu10.4,ubuntu14.4,某公司嵌入式设备的linux2.6.33,centos 7.01)都是这种思路。


程序开机启动之环境变量:

        实际项目中,开机启动程序的运行还会需要连带执行其他的程序,这时其他程序的执行就需要环境变量。

而init.d中的脚本执行时,bash.bashrc等个性化系统变量配置文件可能还未执行,当时的环境变量会非常少。

那么我们采取直接在脚本执行时加入环境变量的方式。

(如我在实际项目中61850Svr启动时连带需要启动Forexxx等程序:)

linux开机启动记录_第2张图片



如此就可以轻松应对程序开机启动了!


你可能感兴趣的:(linux系统使用,linux开机启动)