rainyzz's blog

Linux自定义启动程序总结

1.和自启动程序有关的重要的文件和文件夹

/etc/init.d文件夹

该文件夹是自启动程序可执行文件存放的地点

在启动程序的时候自动会有root权限,所以需要root权限的命令不许要加sudo或其他的。

自启动命令如果无法执行很可能是因为PATH没有设置,这时候在程序开始时设一下PATH或者直接用命令的全路径就可以了。

/etc/rc0.d到rc6.d

该文件夹里存放在各个run level需要执行的程序启动和关闭

在这七个文件中的文件全都是链接形式的,全都链接自/etc/init.d内的执行文件,里面的文件有两种格式,一种类似S20winbind,一种类似K20winbind,S代表start,表示在该run level时启动该程序,20代表在这个文件夹内启动程序的启动程序,数字从1到99,最后就是程序名,和init.d内的文件名是对应的,后一种K代表kill,其他和前一种是一样的。

/etc/rc.local(不同发行版该文件位置不同)

该文件里可以放一些需要开机执行的小命令,和前面文件夹的作用是一样的,只是省去编写脚本了,你应该可以发现在前面的文件夹里有S99rc.local,该文件中的指令是在每个run level最后启动的指令。

2.具体过程

首先,将写好的脚本文件放入init.d,设置成可执行

然后使用 sudo update-rc.d 程序名 defaults 来建立启动链接就可以了(update-rc.d 还有一些比较详细的用法可以上网查一下 )

如果需要删除启动链接 sudo update-rc.d -f 程序名 remove