chkconfig 命令用于管理基于 SysV init 系统的服务,主要用于设置系统服务在不同运行级别的启动或关闭状态。它适用于 CentOS 6 及更早版本的 Linux 系统。

1. 基本用法
  • 语法:
chkconfig [选项] [服务名] [on|off]
  • 功能:

    • 检查服务在不同运行级别下的状态(启用/禁用)。
    • 启用或禁用服务在特定运行级别下的自动启动。
    • 添加或删除系统服务的启动项。
  • 此命令是否系统自带:通常系统自带的。若未安装,可以使用以下方法手动安装:

    • 新版本的chkconfig 已被 systemctl 取代。若需使用,需手动安装:

    • CentOS/RHEL:

      yum install chkconfig
      
    • Debian/Ubuntu:

      apt install chkconfig
      

2. 常用参数
  • --list:列出所有服务及其在各运行级别下的状态。
  • --add:将指定服务添加到启动控制列表中。
  • --del:将指定服务从启动控制列表中删除。
  • on:启用服务在指定运行级别下自动启动。
  • off:禁用服务在指定运行级别下自动启动。
  • --level [运行级别]:指定运行级别(如 3、5 等)。

3. 用法举例
  • 查看所有服务及其状态:

    chkconfig --list
    
  • 启用服务在所有运行级别下自动启动:

    chkconfig httpd on
    
  • 禁用服务在所有运行级别下自动启动:

    chkconfig httpd off
    
  • 启用服务在指定运行级别(如 3)下自动启动:

    chkconfig --level 3 httpd on
    
  • 删除服务的启动项:

    chkconfig --del httpd
    
  • 添加服务到启动列表:

    chkconfig --add httpd
    
  • 在现代系统中使用 systemctl 替代:

    systemctl enable httpd.service
    systemctl disable httpd.service
    

4. 注意事项
  • chkconfig 仅适用于基于 SysV init 的服务管理系统(如 CentOS 6 及更早版本)。现代系统建议使用 systemctl

  • chkconfig --list 的输出会因权限问题显示受限服务,需要 root 权限运行以查看完整信息。

  • 修改服务状态时,确保服务脚本位于 /etc/init.d/ 目录中,否则 chkconfig 无法正常工作。

  • 在运行 chkconfig 修改服务状态后,需重启或手动启动服务以使更改生效:

    service httpd start
    
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐