今天遇到了一个问题,我们写了一个服务脚本A,该服务需要优先于mysql启动。脚本是从其他地方拷来的模板,前面的默认配置没改,只是实现了自己的功能。写完,chkconfig A on,reboot,启动后就傻眼了,mysql未能正常启动。最后分析原因,原来是服务A在mysql之后才启动,未能给mysql分配出需要的硬件环境。问题来了,如何让服务A先于mysql之前启动呢?

要知道服务的启动顺序,就需要先知道服务如何启动的。linux有7个运行级别,用户可选择不同的运行级别。进入/etc/rc.d/目录,可查看到对应从rc0.d到rc6.d等7个目录,这些目录即对应7个级别。

进入rc3.d目录,可看到各种以K或者S开始的服务,K表示启动,S表示停止,而后面的数字就表示启动顺序。我们以熟悉的network服务为例,这里只是个链接,其实还是指向/etc/init.d/network,其启动值为10。


打开/etc/init.d/network文件,文件头有“# chkconfig: 2345 10 90”一行,这一行就指定了其启动和的优先级。如果要改变其优先级,修改脚本文件,通过chkconfig --del network,再chkconfig --add network,即可修改成功。

版权声明:本文为博主原创文章,未经博主允许不得转载。

 

GitHub 加速计划 / li / linux-dash
10
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:1 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐