chkconfig

更新和查询系统服务的运行级别信息

语法

  chkconfig --list [name]
  chkconfig --add name
  chkconfig --del name
  chkconfig [--level levels] name <on|off|reset>
  chkconfig [--level levels] name 

选项:

--level levels
         运行级别设置。
         给定为0到7之间的数字字符串。
         例如, --level 35指定运行级别3和5. 

--add name
         为chkconfig管理添加新服务

--del name
         从chkconfig管理中删除服务,并删除

--list name
          列出chkconfig知道的所有服务. 

chkconfig提供了一个简单的命令行工具,用于维护 /etc/rc[0-6].d 目录层次结构,方法是减轻系统管理员直接操作这些目录中众多符号链接的任务.

chkconfig的这种实现受到了IRIX操作系统中存在的chkconfig命令的启发。但是,不是将配置信息保存在 /etc/rc[0-6].d层次结构之外,而是直接管理 /etc/rc[0-6].d中的符号链接。这将保留有关init在单个位置启动的服务的所有配置信息。

chkconfig有五个不同的功能:为管理添加新服务,从管理中删除服务,列出服务的当前启动信息,更改服务的启动信息以及检查特定服务的启动状态。

在没有任何选项的情况下运行chkconfig时,它会显示用法信息。如果仅提供服务名称,则会检查该服务是否配置为在当前运行级别中启动。如果是,则chkconfig返回true; 否则返回false。–level选项可用于让chkconfig查询替代运行级别而不是当前运行级别。

如果在服务名称之后指定了on,off或reset之一,则chkconfig将更改指定服务的启动信息。on和off标志分别导致在更改的运行级别中启动或停止服务。该复位标志重置服务无论是在有问题的初始化脚本指定的启动信息。

默认情况下,on和off选项仅影响运行级别2,3,4和5,而reset会影响所有运行级别。–level选项可用于指定受影响的运行级别。

请注意,对于每个服务,每个运行级别都有一个启动脚本或一个停止脚本。切换运行级别时,init不会重新启动已启动的服务,也不会重新停止未运行的服务。

chkconfig还可以通过xinetd.d配置文件管理xinetd脚本。请注意,xinetd.d服务仅支持on,off和–list命令。

运行级别文件

应该由ch​​kconfig管理的每个服务都需要在其init.d脚本中添加两条或更多条注释行。第一行告诉chkconfig默认情况下应该启动服务的运行级别,以及启动和停止优先级。如果默认情况下,服务不应在任何运行级别中启动,则应使用 - 代替运行级别列表。第二行包含服务的描述,可以使用反斜杠延续跨多行进行扩展。

例如,random.init有以下三行:

#chkconfig:2345 20 80 
# description: Saves and restores system entropy pool for \
# higher quality random number generation.

这表示random脚本应该在2,3,4和5级开始,它的起始优先级应该是20,并且它的停止优先级应该是80.你应该能够弄清楚描述的内容; \导致该行继续。线前面的额外空间被忽略。

实例

列出所有启动服务,并按字母顺序排序y:

$ sudo chkconfig --list | sort | less

列出finger服务:

$ sudo chkconfig --list finger

查询/etc/rc.d中的服务,并查看每个运行级别的服务设置

$ sudo chkconfig --list anacron
anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off

在运行级别3,4和5中关闭nscd

 $ sudo chkconfig --level 345 nscd off

chkconfig 命令实例:

linux命令:chkconfig --list | fgrep :on | sed -e 's/\(^.*\)*0:off/\1:/g' -e 's/\(.\):on/\1/g' -e 's/.:off//g' | tr -d [:blank:] | awk -F: '{print$2,$1}' | ssh host 'cat > foo' foo' > 'cat host ssh | '{print$2,$1}' -F: awk | [:blank:] -d tr | 's/.:off//g' -e 's/\(.\):on/\1/g' -e 's/\(^.*\)*0:off/\1:/g' -e sed | :on fgrep | --list chkconfig chkconfig --list | fgrep :on | sed -e 's/\(^.*\)*0:off/\1:/g' -e 's/\(.\):on/\1/g' -e 's/.:off//g' | tr -d [:blank:] | awk -F: '{print$2,$1}' | ssh host 'cat > foo'rootopen.com
linux命令:chkconfig --list | fgrep :on | sed -e 's/\(^.*\)*0:off/\1:/g' -e 's/\(.\):on/\1/g' -e 's/.:off//g' | tr -d [:blank:] | awk -F: '{print$2,$1}' | ssh host 'cat > foo' foo' > 'cat host ssh | '{print$2,$1}' -F: awk | [:blank:] -d tr | 's/.:off//g' -e 's/\(.\):on/\1/g' -e 's/\(^.*\)*0:off/\1:/g' -e sed | :on fgrep | --list chkconfig chkconfig --list | fgrep :on | sed -e 's/\(^.*\)*0:off/\1:/g' -e 's/\(.\):on/\1/g' -e 's/.:off//g' | tr -d [:blank:] | awk -F: '{print$2,$1}' | ssh host 'cat > foo'rootopen.com
2018-06-12 12:16:48

Linux的Bash命令行(A-Z排序)