设置服务开机自启rc.local init.d

前面已经讲了Linux的启动级别及相应的启动说明:https://blog.csdn.net/SONGW2018/article/details/81950146
那么是否还有其他的方法设置开机启动呢 ,有,这就涉及到了Linux开机启动过程,和中间依次会启动的模块。
简要的说(不够准确),linux的inittab过程可以归结为三大步骤:
1. 系统初始化:rc.sysinit
2.服务启动:rc N 启动rcN.d下的服务
3.本地初始化:rc.local

所以目前接触到的开机启动方法有如下两个:
A: init.d 添加服务
把服务启动脚本放在init.d里,通过 /etc/rc.d/rcN.d/里对应的开机启动项链接过去,
然后使用chkconfig --add servicename 添加开机服务
chkconfig --level 35 servicename on 添加启动级别
chkcoinfig --level 35 servicename off 关闭开机启动

B: rc.local 添加开机自启
这是一个最简单的方法,编辑“/etc/rc.local”,把启动程序的shell命令输入进去即可(要输入命令的全路径),类似于windows下的“启动”。
使用命令 vi /etc/rc.local ,然后在文件最后一行添加要执行程序的全路径。
例如,每次开机时要执行一个haha.sh,这个脚本放在/opt下面,那就可以在“/etc/rc.local”中加一行“/opt/./haha.sh”,或者两行“cd /opt”和“./haha.sh”。
额,刚才实验发现一个问题 ,原来执行脚本的时候在当前目录下是 ./xx.sh , 然后换到其他目录下,就需要通过上面的方法执行了,比如 /usr/local/./xx.sh ,但是后来试了下,直接写全路径也行呀 不需要当中的 ./ 了,这个等到了一定水平重新研究.

第一次把脚本路径写进/etc/rc.local的时候,并且 /etc/rc.local 是有执行权限的,but 重启后并没有生效,后面查了才知道,需要添加 /etc/rc.d/rc.local 的可执行权限才行,前面那个只是软链接!

https://www.cnblogs.com/fatt/p/4789375.html
https://blog.csdn.net/qq_36349129/article/details/79864649
https://blog.csdn.net/a746742897/article/details/53404893

你可能感兴趣的:(开机自启,rc.local,init.d,开机自启)