Chinaunix首页 | 论坛 | 博客
  • 博客访问: 384106
  • 博文数量: 87
  • 博客积分: 2810
  • 博客等级: 少校
  • 技术积分: 825
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-28 22:34
文章分类

全部博文(87)

文章存档

2010年(25)

2009年(43)

2008年(19)

分类: LINUX

2009-01-09 10:27:59

Chkconfig命令+应用详解

前一篇文章是转载的,也就是理论上的东西:出处
's_chkconfig_CN.htm

下面就要说一些实际应用中的东西,原创+重点。嘿嘿
我在应用的时候就碰到过这样的情况,系统启动的时候报一大堆无法连接mysql的错误,问题就是,在mysql数据库存还没有启动的时候已经启动了一些需要连接mysql数据库的服务。这样我们就得修改启动顺序来把需要连接mysql数据库的服务放到mysql服务启动之后再启动。这样我们就得修改启动脚本。一般是在/etc/rc.d/init.d下面。主要是这部分,如下所示:
# chkconfig: 345 99 01
# description: Nagios network monitor
#
# File : nagios
其中我们要修改的就是:
# chkconfig: 345 99 01 后面的数字部分

345 99 01
这三组数字到底是什么意思呢?
345代表的是系统的启动级别。也就是说系统在345的启动级别的时候会启动nagios服务
99 01 代表的是系统启动的时候 应用程序也就是服务的启动级别

345 如果在启动脚本里出现了这组数字,那么在执行chkconfig --add nagios的时候就相当于我们执行了chkconfig --add nagios 和chkconfig --level 345 nagios on两条命令。
实践,如图:
执行chkconfig --add npcd 如图所示:
只执行了chkconfig --add npcd,结果345的状态为on了。也就是上面说的实际上相当于执行了两条命令。在这里就可以直接执行service npcd start了。

如果没有出现这组数据或者出现了-,就说明在执行完chkconfig --add npcd 后一定要执行chkcofnig --level 345 nagios on这条命令后我们才能执行service nagios start
实践:

执行chkconfig --add npcd 

看到没,所有的状态都是off。这样我们就必须执行chkconfig --level 345 npcd on之后我们才能执行service npcd start命令。

下面我们来以httpd和nagios来做一下比较,看是数值大的先启动或者关闭,还是数值小的先启动或者关闭。实践出真知。

httpd的优先级如图所示(在http启动脚本里就只出现了-,前面我们已经说到过了):

nagios的优先级如图所示(nagios里就出现了前面所说的345这组数值):


99 这组数字就是系统启动的时候服务启动的优先级---数字越小,优先级越高,也就是启动的时候数值越小越先启动。如图所示:


01 这组数值就是系统关闭的时候关闭服务的优先级---数字越小,优先级越高,也就是关闭的时候数值越小越先关闭。如图所示:



实践证实,数值越小,就越先启动和关闭。

理解了这个,那在处理问题的时候就相当简单了,要不然都不知道怎么去修改那个服务的启动顺序。呵呵 
阅读(1207) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~