chkconfig命令用来安装,查看或修改 services随系统启动的启动选项的设置。是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。
  注意:  谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。
  每一个被chkconfig管理的服务都首先要在/etc/init.d中添加他们。

1.命令格式:

  chkconfig [必要参数] [服务]

2.命令功能:

  查看或修改 services随系统启动的启动选项的设置

3.命令参数:

1) --add         开启指定的服务程序
2) --del        关闭指定的服务程序
3) --list        列出chkconfig所知道的所有服务
4) --level<代号>     设置服务程序的等级代号,是一串0~7的数字

4.使用实例:

示例1:查看系统程序列表

[root@localhost ~]# chkconfig --list

注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。
      如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。
      欲查看对特定 target 启用的服务请执行
      'systemctl list-dependencies [target]'。

netconsole         :关    :关    :关    :关    :关    :关    :关
network            :关    :关    :开    :开    :开    :开    :关

基于 xinetd 的服务:
    chargen-dgram:     关
    chargen-stream:    关
    daytime-dgram:     关
    daytime-stream:    关
    discard-dgram:     关
    discard-stream:    关
    echo-dgram:        关
    echo-stream:       关
    tcpmux-server:     关
    time-dgram:        关
    time-stream:       关

示例2:在shell脚本中检查service的启动选项的设置

[root@localhost ~]# chkconfig network && echo "Network service is configured"
Network service is configured

当你执行chkconfig加service名字,如果service被配置为自动启动,则它将返回true。

[root@localhost ~]# chkconfig xinetd
注意:正在将请求转发到“systemctl is-enabled xinetd.service”。
enabled
[root@localhost ~]# chkconfig xinetd
注意:正在将请求转发到“systemctl is-enabled xinetd.service”。
enabled

示例3:添加或删除指定的服务

[root@localhost /]# chkconfig --del netconsole
[root@localhost /]# chkconfig --add netconsole

5.其他:
1)等级代号列表:
  等级0表示:表示关机
  等级1表示:单用户模式
  等级2表示:无网络连接的多用户命令行模式
  等级3表示:有网络连接的多用户命令行模式
  等级4表示:不可用
  等级5表示:带图形界面的多用户模式
  等级6表示:重新启动
    需要说明的是,level选项可以指定要查看的运行级而不一定是当前运行级。对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。
2)运行级文件:
  每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用-代替运行级。第二行对服务进行描述,可以用\跨行注释。

05-11 17:29