文章目录
-
-
-
- [1. 基本用法](#1. 基本用法)
- [2. 常用参数](#2. 常用参数)
- [3. 用法举例](#3. 用法举例)
- [4. 注意事项](#4. 注意事项)
-
-
chkconfig 命令用于管理基于 SysV init 系统的服务,主要用于设置系统服务在不同运行级别的启动或关闭状态。它适用于 CentOS 6 及更早版本的 Linux 系统。
1. 基本用法
- 语法:
bash
chkconfig [选项] [服务名] [on|off]
-
功能:
- 检查服务在不同运行级别下的状态(启用/禁用)。
- 启用或禁用服务在特定运行级别下的自动启动。
- 添加或删除系统服务的启动项。
-
此命令是否系统自带:通常系统自带的。若未安装,可以使用以下方法手动安装:
-
新版本的
chkconfig已被systemctl取代。若需使用,需手动安装: -
CentOS/RHEL:
bashyum install chkconfig -
Debian/Ubuntu:
bashapt install chkconfig
-
2. 常用参数
--list:列出所有服务及其在各运行级别下的状态。--add:将指定服务添加到启动控制列表中。--del:将指定服务从启动控制列表中删除。on:启用服务在指定运行级别下自动启动。off:禁用服务在指定运行级别下自动启动。--level [运行级别]:指定运行级别(如 3、5 等)。
3. 用法举例
-
查看所有服务及其状态:
bashchkconfig --list -
启用服务在所有运行级别下自动启动:
bashchkconfig httpd on -
禁用服务在所有运行级别下自动启动:
bashchkconfig httpd off -
启用服务在指定运行级别(如 3)下自动启动:
bashchkconfig --level 3 httpd on -
删除服务的启动项:
bashchkconfig --del httpd -
添加服务到启动列表:
bashchkconfig --add httpd -
在现代系统中使用
systemctl替代:bashsystemctl enable httpd.service systemctl disable httpd.service
4. 注意事项
-
chkconfig仅适用于基于SysV init的服务管理系统(如 CentOS 6 及更早版本)。现代系统建议使用systemctl。 -
chkconfig --list的输出会因权限问题显示受限服务,需要root权限运行以查看完整信息。 -
修改服务状态时,确保服务脚本位于
/etc/init.d/目录中,否则chkconfig无法正常工作。 -
在运行
chkconfig修改服务状态后,需重启或手动启动服务以使更改生效:bashservice httpd start