chkconfig在Linux下是管理服务/启动项在各个系统运行级别中的设置,在Linux中系统有7个运行级别,分别是:
1.运行级别0:表示关机
2.运行级别1:表示单用户模式
3.运行级别2:无网络连接的多用户命令行模式
4.运行级别3:有网络连接的多用户命令行模式
5.运行级别4:暂不可用
6.运行级别5:带图形界面的联网多用户模式
7.运行级别6:重新启动
chkconfig能够管理全部云心级别,但是默认情况下,只对级别2,3,4,5这4个级别进行操作。如果要操作其他级别的,需要带上 --level 参数。 chkconfig 一般常用的组合如下:
用法:
chkconfig [--list] [--type type>] [name]
chkconfig --add name>
chkconfig --del name>
chkconfig --override name>
chkconfig [--level levels>] [--type type>] name> on|off|reset|resetpriorities>
#列出系统所有的服务设置详情
#注意:如果是手动设置的不能显示
chkconfig --list
#列出某个服务在各个级别中的启动设置项
# servicename可以是:mysqld,vsftpd等
chkconfig --list servicename
#设置某个服务在某些级别的启动设置
#这里以vsftpd为例,设置在2,3运行级别下启动
chkconfig --level 2,3 vsftpd on
#增加服务
#假设要增加的名称为:serv-name
chkconfig --add serv-name
#在上面添加后,你就可以使用前面的方法来设置serv-name的在各个运行级别的启动
#如果是手动配置的时候,会配置/etc/rc.d/rc*.d中K/S项
#rc*为各个级别名称,但手动配置的,使用chkconfig是无法管理的.
#删除服务
chkconfig --del serv-name
语法为:
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.