以前配置系统启动项都是拿来能用就行,对于其中规则一点都不熟悉,这两天恰好遇到几篇通俗易懂的介绍,受益匪浅。
涉及到开机启动的配置文件在下面几个文件夹里:
- /etc/init.d 放着程序启动关闭重启的脚本
- /etc/rc(0-6).d里的文件都是/etc/init.d文件下的软链接,rc0.d rc1.d … 分别对应着linux不同的 runlevel
- /etc/default 里的文件添加一层控制是否启动某个程序的变量
手工设置开机启动程序的步骤是这样的:
- 在
/etc/init.d
里写一个启动脚本, 比如:some_program(启动脚本模板后面提供) - 使用
sudo update-rc.d some_program defaults
设置开机启动. 可以看到这个命令的工作是把/etc/init.d/some_program
软链接到了/etc/rc(0-6).d
里。 - 现在重启系统, some_program 就会启动了。
很多程序安装好以后已经把启动脚本放在 /etc/init.d
里面了, 我们要启动它, 首先要试试:
sudo /etc/init.d/the_program start
如果提示正常则可以通过 sudo update-rc.d the_program defaults
来设置开机启动
如果提示错误,很可能会提示 /etc/default/the_program
设置不让启动,需要修改一下 /etc/default/the_program
文件的配置。
一些有用的命令:
马上启动某个程序
sudo /etc/init.d/the_program start
马上停止某个程序
sudo /etc/init.d/the_program stop
设置某个已经设置过开机启动的程序不开机启动
sudo update-rc.d the_program disable
设置某个已经设置开机启动disable的程序开机启动
sudo update-rc.d the_program enable
init.d里面的脚本模板:(https://github.com/fhd/init-script-template)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
|