开机启动顺序rc.local与chkconfig的不同
/etc/rc.local文件有如下两行
/etc/init.d/mysql start
/etc/init.d/keepalived start
/etc/rc.local是按脚本的顺序一个启动后启动下一个,先启动mysql后再启动keepalived
chkconfig信息如下
[root@localhost log]# chkconfig --list |grep mysql
mysql 0: on 1: on 2: on 3: on 4: on 5: on 6: on
[root@localhost log]# chkconfig --list |grep keepalived
keepalived 0: on 1: on 2: on 3: on 4: on 5: on 6: on
[root@localhost rc3.d]# ll |grep mysql
lrwxrwxrwx 1 root root 15 Sep 14 08:36 S64mysql -> ../init.d/mysql
[root@localhost rc3.d]# ll |grep keep
lrwxrwxrwx 1 root root 20 Sep 14 08:36 S21keepalived -> ../init.d/keepalived
chkconfig是看运行级别
比如init 3的情况下,可以查看/etc/rc3.d,里面有S开头的, 就是start后面的数字就是顺序,比如21在64前面,是需要keepalived先启动的
启动顺序搞清楚了,还有一点个人理解
rc.local或chkconfig不会等上个服务启动成功后再去启动下一个服务的,而是按启动顺序把指令传给一个服务后再传给下一个服务,具体服务启动需要多久是否启动成功可就不管了
比如A启动完成需要5分钟,B启动完成需要1分钟,在rc.local或chkconfig里面A的顺序在B的前面,确实是A先启动再B启动,但可能是B先启动完成,因为B的时间短
如果不是这样的话,那前面某个服务没有启动成功,后面的服务都不会启动了,操作系统不会这么傻的
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
· 全程使用 AI 从 0 到 1 写了个小工具