一、准备知识

在说明chkconfig命令的用途之前,有必要先了解一下Linux系统中/etc/rc[0-6].d目录的用途。

众所周知,在Linux系统定义了7种不同的启动级别,这7种启动级别的含义分别如下:

0:关机
1:单用户模式
2:无网络连接的多用户命令行模式
3:有网络连接的多用户命令行模式
4:不可用
5:带图形界面的多用户模式
6:重启

所以,/etc/rc[0-6].d目录中的0-6就代表了上述7种启动级别。接下来我们再看一下/etc/rc[0-6].d目录中到底存放了些什么东西,以/etc/rc5.d为例:

...省略...
lrwxrwxrwx. 1 root root 15 May 17 21:57 K89rdisc -> ../init.d/rdisc
lrwxrwxrwx. 1 root root 18 May 17 22:12 K92iptables -> ../init.d/iptables
lrwxrwxrwx. 1 root root 14 May 17 21:58 K99rngd -> ../init.d/rngd
lrwxrwxrwx. 1 root root 17 May 17 21:58 S01sysstat -> ../init.d/sysstat
lrwxrwxrwx. 1 root root 22 May 17 21:58 S02lvm2-monitor -> ../init.d/lvm2-monitor
lrwxrwxrwx. 1 root root 19 May 17 21:57 S08ip6tables -> ../init.d/ip6tables
...省略...

从上面的输出中可以看到,/etc/rc5.d中存放的都是一些链接文件,这些链接文件都存放在一个名为/etc/init.d的目录中。好了,准备知识就到此为止!

二、命令用法

chkconfig的用途为,查看系统服务的启动信息或更新系统服务的运行级别。我们再来了解一下man page中是如何介绍chkconfig的用途的:“chkconfig提供了一个简单的,用于维护/etc/rc[0-6].d的目录层级的命令行工具,通过使用该工具,极大地减轻了系统管理员在操作这些目录中的符号链接方面的任务。”

语法:
chkconfig [--list] [--type type][name]
chkconfig --add name
chkconfig --del name
chkconfig --override name
chkconfig [--level levels] [--type type] name <on|off|reset|resetpriorities>
chkconfig [--level levels] [--type type] name 选项:
--level:指定某个服务的运行级别。例如:--level 35指定的运行级别为3和5;
--list:列出被chkconfig所管理的所有服务及其在个运行级别下的启动状态;
--add:增加一个服务,在/etc/rc[0-6].d目录下增加相关符号链接;
--del:删除一个服务,从/etc/rc[0-6].d目录下删除相关符号连接;
--override:使用/etc/chkconfig.d目录下的init script的功能覆盖/etc/init.d目录下的同名init script;

如果在服务名后接on、off、reset、resetpriorities其中之一,chkconfig命令将会改变指定服务的启动信息,其中:on/off用于指示启动/停止服务,reset用于根据启动脚本(/etc/init.d目录下与服务名同名文件)中定义重置服务的启动/停止状态,resetpriorities用于根据启动脚本中的定义重置服务的启动/停止优先级。以iptables的init script为例:

[root@primary-mysql init.d]# vi iptables 

#!/bin/sh
#
# iptables Start iptables firewall
#
# chkconfig: 2345 08 92
# description: Starts, stops and saves iptables firewall
#
...省略... # 其中,2345是iptables的默认启动级别,08是默认的启动优先级,92是默认的停止优先级。

在默认情况下,on和off只影响2,3,4,5四种运行级别,reset和resetpriorities影响所有的运行级别。--level选项被用于指定到底将会影响哪(几)种运行级别。

如果chkconfig使用--list参数或不带参数,命令将显示系统中所有的服务及它们的运行级别。如果chkconfig --list service_name,命令将显示某个指定的服务的运行级别。

三、示例:配置一个服务并使其开机自启动

# 确保在/etc/init.d目录下存在服务的init script。

# 将服务加入chkconfig管理
chkconfig --add service_name # 配置服务的运行级别及状态
chkconfig --level 35 service_name on # 确认配置结果
chkconfig --list service_name 或 chkconfig --list 或 chkconfig

 

linux命令(001) -- chkconfig的更多相关文章

  1. 每天一个Linux命令 - 【chkconfig】

    [命令]:chkonconfig [语法]:chkconfig [选项] [功能介绍]:chkconfig 命令是Redhat兼容的Linux发行版中的系统服务管理工具,它可以查询和更新不同的运行等一 ...

  2. Linux命令记录----chkconfig命令

    chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--ad ...

  3. Linux开机启动chkconfig命令详解(让MySQL、Apache开机启动)

    chkconfig chkconfig在命令行操作时会经常用到.它可以方便地设置和查询不同运行级上的系统服务.这个可要好好掌握,用熟练之后,就可以轻轻松松的管理好你的启动服务了. 注:谨记chkcon ...

  4. linux命令详解之chkconfig命令使用方法

    介绍一个linux常用命令,chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:c ...

  5. Linux命令-服务管理命令:chkconfig

    chkconfig --list 查看服务自启动状态列表,等同于查看服务列表 设置某一个服务为自启动服务: chkconfig 服务名 on 修改服务的启动级别为3,,5 查看某一个服务时候已经运行了 ...

  6. Linux下的service命令和chkconfig命令的原理

    CentOS下的service命令和chkconfig命令的原理 1.service命令的原理 service命令用来对服务进行启动和关闭,比如service mysqld start可以启动mysq ...

  7. linux高大上命令001

        [ linux命令 sed ] sed是一个管道命令,可以分析standard input 而且sed可以将数据进行替换.删除.新增.选取的特定的功能 sed [-nefr] [动作] -n ...

  8. 001 研发同学必学哪些 Linux 命令?

    01 研发同学为啥要掌握 Linux 命令? 身为研发同学,Linux 是绕不过去的一个小山包,不是说要掌握的十分精通,在程序员界里做个极客,也不是说要抢了 Devops 同学的饭碗,但至少要做到摆脱 ...

  9. Linux命令随笔

    Linux命令总结 man ==命令帮助; help ==命令的帮助(bash的内置命令); ls ==list,查看目录列表; -ld:查看目录权限; -l:(long)长格式显示属性; -F:给不 ...

随机推荐

  1. java---括号匹配

    import java.util.HashMap;import java.util.LinkedList;import java.util.Map; /* *括号匹配 * 1.用栈实现,如果读取字符为 ...

  2. 阿里云服务器Ubuntu 16.04 3安装mysql

    .更新系统 apt-get update [注意:要在root用户下] .安装mysql-server apt-get install mysql-serverapt-get install mysq ...

  3. Java基础学习总结(78)——Java main方法深入研究学习

    1.不用main方法如何定义一个类? 不行,没有main方法我们不能运行Java类. 在Java 7之前,你可以通过使用静态初始化运行Java类.但是,从Java 7开始就行不通了. 2.main() ...

  4. CodeForcesGym 100753A A Journey to Greece

    A Journey to Greece Time Limit: 5000ms Memory Limit: 262144KB This problem will be judged on CodeFor ...

  5. Neo4j 的一些使用心得

    由对图数据的处理需求,看到了图数据库(GraphDataBase)这种比较新的数据库模式,并且通过比较发现用的相对多的要属Neo4j了,现在来看网上对Neo4j的介绍还比较少,内容主要来源于三个地方: ...

  6. IBOutlet loadView UIButton的subview数量 UIWebView

    IBOutlet声明的插座变量和属性一起使用的时候,在.m文件调用的是属性. 在loadView方法中获取view属性会产生循环引用问题并导致内存溢出. Control+E到行尾,Control+A到 ...

  7. Cocos2d-HTML5搭载nodejs express3

    源代码 已经上传到github Cocos2d-HTML5 入门第一天搭载了express3 server.Cocos2d-html5配置改了不少路径,改得有点乱. 今天又重搭了一遍server,力求 ...

  8. Live555研究之中的一个 源码编译

                                                Live555研究之中的一个 源代码编译 Live555 是一个为流媒体提供解决方式的跨平台的C++开源项目,它 ...

  9. Go/Python/Erlang编程语言对比分析及示例 基于RabbitMQ.Client组件实现RabbitMQ可复用的 ConnectionPool(连接池) 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!

    Go/Python/Erlang编程语言对比分析及示例   本文主要是介绍Go,从语言对比分析的角度切入.之所以选择与Python.Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性, ...

  10. 数据库数据在Java占用内存简单估算

    数据库数据在Java占用内存简单估算 结论: 1.数据库记录放在JAVA里,用对象(ORM一般的处理方式)须要4倍左右的内存空间.用HashMap这样的KV保存须要10倍空间; 2.假设你主要数据是t ...