Linux麒麟系统(V10)rc.local文件延时启动
此问题有很多原因,文章描述的只是其中一个,分享出来参考一下:
结论:
有两个服务一直运行卡着,导致rc.local依赖服务一直没有启动运行,当那两个服务运行结束后,rc.local开始执行,可能是启动优先级引起。
问题分析:(PS:我使用的机器是没有联网的)
使用命令 “systemctl list-jobs” 可以看到系统运行的一些服务,其中包括如下三条:
① systemd-time-wait-sync.service # 是延迟启动的系统服务,也用来等待内核完成时间同步,但此种检测方法不可靠;参考资料:https://www.man7.org/linux/man-pages/man8/systemd-time-wait-sync.service.8.html
② ifupdown-wait-online.service # 具体原因不知道,但通过online可以看出应该是需要在线同步什么东西; 参考资料:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=943934
③ rc-local.service # rc.local开机自启所依赖的服务
当①或服务处于running状态时,②③服务处于waiting状态。使用 “systemctl stop ① ”停掉服务后,②服务状态立即变为running,此时③依旧是waiting。使用“systemctl stop ②”停掉服务后,③服务状态变为running,rc.local里面的配置命令得以执行;
解决办法:
禁用掉①②服务的开机自启,这样③服务在开机后就会变为running状态;
sudo systemctl disable ①
sudo systemctl disable ②