chkconfig命令检查、设置系统的各种服务。
(1)用法:
用法: chkconfig [必要参数] [服务]
(2)功能:
功能: chkconfig命令用来安装,查看或修改 services随系统启动的启动选项的设置。是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。
注意: 谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。
每一个被chkconfig管理的服务都首先要在/etc/init.d中添加他们。
(3)选项参数:
1) --add 开启指定的服务程序
2) --del 关闭指定的服务程序
3) --list 列出chkconfig所知道的所有服务
4) --level<代号> 设置服务程序的等级代号,是一串0~7的数字
(4)实例:
1)[root@localhost sunjimeng]# chkconfig --list 查看系统程序列表
[root@localhost sunjimeng]# chkconfig --list 注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。 如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。 欲查看对特定 target 启用的服务请执行 'systemctl list-dependencies [target]'。 netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关 network 0:关 1:关 2:开 3:开 4:开 5:开 6:关 基于 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 sunjimeng]# chkconfig network && echo "Network service is configured" Network service is configured
当你执行chkconfig加service名字,如果service被配置为自动启动,则它将返回true。
[root@localhost sunjimeng]# chkconfig xinetd 注意:正在将请求转发到“systemctl is-enabled xinetd.service”。 enabled [root@localhost sunjimeng]# 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缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用-代替运行级。第二行对服务进行描述,可以用跨行注释。