linux 下 chkconfig 命令详解

来源:互联网 发布:数据挖掘公司 编辑:程序博客网 时间:2024/09/21 08:57

Linux 提供了chkconfig 命令用来更新和查询不同运行级上的系统服务。

语法为:

chkconfig --list [name] 用来列表服务

chkconfig --add name 用来添加服务

chkconfig --del name 用来删除服务

chkconfig [--level levels] name 改变启动信息以及检查特定服务的启动状态。

on 和 off 分别指服务在改变运行级时的启动和停止。reset 指初始化服务信息。

对于 on 和 off 开关,系统默认只对运行级 3,4, 5有效,但是 reset 可以对所有运行级有效。



选项介绍:

--level levels

指定运行级,由数字 0 到 7 构成的字符串,如:

--level 35 表示指定运行级3 和5。

--add name

这个选项增加一项新的服务,chkconfig 确保每个运行级有一项

启动(S) 或者 杀死(K) 入口。如有缺少,则会从缺省的init

脚本自动建立。

--del name

用来删除服务,并把相关符号连接从 /etc/rc[0-6].d 删除。

--list name

列表,如果指定了name 那么只是显示指定的服务名,否则,列出

全部服务在不同运行级的状态。

运行级文件

每个被chkconfig 管理的服务需要在对应的/etc/rc.d/init.d 下的脚本加上两行或者更多行的注释。

第一行告诉 chkconfig 缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。

第二行对服务进行描述,可以用/ 跨行注释。

例如,random.init 包含三行:

# chkconfig: 2345 20 80

# description: Saves and restores system entropy pool for /

# higher quality random number generation.

表明 random 脚本应该在运行级 2, 3, 4, 5 启动,启动优先权为20,停止优先权为 80。

 如果你使用chkconfig --list命令,你会看到一个系统服务列表,以及它们在运行级别0~6中已被启动(on)或停止(off)。在列表末端,你会看到由xinetd管理的服务部分。如果你使用chkconfig--list来查询由xinetd管理的服务,你会看到xinetd服务是被启用(on)还是被关闭(off)了。例如,命令chkconfig--list finger返回了下列输出:
finger          on
      
        如上所示,finger作为xinetd服务被启用。如果xinetd在运行,finger就会被启用。

       如果你使用chkconfig --list来查询/etc/rc.d中的服务,你会看到服务在每个运行级别中的设置。例如,命令chkconfig --list anacron返回了下列输出:
Anacron         0:off   1:off   2:on    3:on    4:on    5:on    6:off
chkconfig还能用来设置某一服务在某一指定的运行级别内被启动还是被停运。例如,要在运行级别3、4、5中停运nscd服务,使用下面的命令:

Chkconfig --level 345 nscd off

       补充说明:由xinetd管理的服务会立即被chkconfig影响。例如,如果xinetd在运行,finger被禁用,那么执行了chkconfig finger on命令后,finger可以自动随xinetd的改变而自动启用。对其他服务的改变在使用chkconfig之后不会立即生效。你必须使用service daemon stop命令来停止个别服务。在前面的例子中,把daemon换成你想停止的服务名称,如httpd。把stop换成start或restart来启动或重新启动该服务