Linux下chkconfig命令使用教程与实例解析
chkconfig是Linux系统中用于管理服务的命令行工具,主要用于查询和更新系统服务的运行级别设置,决定服务在不同运行级别下是否开机自启动。它是sysvinit体系下的经典工具,在很多CentOS、RHEL等发行版中仍然被广泛使用。

chkconfig命令基本语法
chkconfig命令的通用语法格式如下:
chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]
常见参数说明
- --list:列出所有系统服务的启动状态,也可以指定单个服务查看
- --add:增加指定的系统服务,使其可以被chkconfig管理
- --del:删除指定的系统服务,不再被chkconfig管理
- --level:指定要操作的运行级别,后面跟数字,比如3、5等
- on/off:开启或关闭服务在指定运行级别的自启动
Linux运行级别说明
chkconfig的操作和Linux运行级别紧密相关,常见的运行级别含义如下:
| 运行级别 | 含义 |
|---|---|
| 0 | 系统停机状态,无法使用 |
| 1 | 单用户模式,用于系统维护 |
| 2 | 多用户模式,没有网络文件系统 |
| 3 | 完整的多用户模式,命令行界面,常用作服务器运行级别 |
| 4 | 保留未使用 |
| 5 | 图形化多用户模式,带桌面环境 |
| 6 | 系统重启状态 |
常用操作实例
1. 查看所有服务的启动状态
执行以下命令可以列出系统中所有被chkconfig管理的服务及其在各运行级别的启动状态:
chkconfig --list
2. 查看指定服务的启动状态
比如查看sshd服务的启动配置:
chkconfig --list sshd
3. 开启服务在指定运行级别的自启动
比如让sshd服务在运行级别3和5下开机自启动:
chkconfig --level 35 sshd on
4. 关闭服务在指定运行级别的自启动
比如关闭sshd服务在运行级别3下的自启动:
chkconfig --level 3 sshd off
5. 添加自定义服务到chkconfig管理
如果要让自定义的服务被chkconfig管理,首先需要在服务的启动脚本中添加如下格式的注释,放在脚本开头:
#!/bin/bash # chkconfig: 2345 90 10 # description: 这是一个自定义测试服务 # 以上注释中,2345表示默认在哪些运行级别启动,90是启动优先级,10是停止优先级
添加注释后,执行以下命令将服务加入chkconfig管理:
chkconfig --add 自定义服务名
6. 从chkconfig管理中删除服务
如果不再需要管理某个服务,可以执行以下命令删除:
chkconfig --del 服务名
注意事项
- chkconfig只管理sysvinit风格的服务,systemd体系的系统(比如较新的Ubuntu、CentOS 7及以上)更推荐使用systemctl命令管理服务,但chkconfig仍然可以兼容使用
- 修改服务启动状态后,不会立即生效,需要重启系统或者手动执行
service 服务名 start/stop来操作当前运行状态 - 操作服务时需要root权限,普通用户需要加上sudo执行命令
chkconfigLinux服务管理系统启动项运行级别service命令修改时间:2026-05-31 06:28:39