zoukankan      html  css  js  c++  java
  • chkconfig命令详解

    • 使用语法:

      chkconfig [--add][--del][--list][系统服务或 chkconfig [--level <等级代号>][系统服务][on/off/reset]

      chkconfig在没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回true,否则返回false。如果在服务名后面指定了onoff或者reset,那么chkconfi 会改变指 定服务的启动信息。onoff分别指服务被启动和停止,reset指重置服务的启动信息,无论有问题的初始化脚本指定了什么。onoff开关,系统默认只对运行级345有效,但是reset可以对所有运行级有效。

    • 使用参数:

        chkconfig --list [name]:显示所有运行级系统服务的运行状态信息(onoff)。如果指定了name,那么只显示指定的服务在不同运行级的状态。
        chkconfig --add name:增加一项新的服务。chkconfig确保每个运行级有一项启动(S)或者杀死(K)入口。如有缺少,则会从缺省的init脚本自动建立。
        chkconfig --del name:删除服务,并把相关符号连接从/etc/rc[0-6].d删除。
        chkconfig [--level levels] name:设置某一服务在指定的运行级是被启动,停止还是重置。

    • 使用范例:

      chkconfig --list        #列出所有的系统服务
      chkconfig --add httpd        #增加httpd服务
      chkconfig --del httpd        #删除httpd服务
      chkconfig --level httpd 2345 on        #设置httpd在运行级别为2345的情况下都是on(开启)的状态
      chkconfig --list        #列出系统所有的服务启动情况
      chkconfig --list mysqld        #列出mysqld服务设置情况
      chkconfig --level 35 mysqld on        #设定mysqld在等级35为开机运行服务,--level 35表示操作只在等级35执行,on表示启动,off表示关闭
      chkconfig mysqld on        #设定mysqld在各等级为on各等级包括2345等级

     

    • chkconfig命令的原理:
    [root@BASE ~]# ll /etc/init.d
    
    lrwxrwxrwx. 1 root root 11 Jun 13 21:10 /etc/init.d -> rc.d/init.d
    
    [root@BASE ~]# 
    
    当我们将服务的启动脚本放到/etc/init.d这个目录的时候,其实是放在了rc.d/init.d中
    
    [root@BASE ~]# ll /etc/rc.d/
    
    total 60
    
    drwxr-xr-x. 2 root root  4096 Sep 23 21:51 init.d
    
    -rwxr-xr-x. 1 root root  2617 Nov 23  2013 rc
    
    -rwxr-xr-x. 1 root root   220 Sep  8 09:18 rc.local
    
    -rwxr-xr-x. 1 root root 19688 Nov 23  2013 rc.sysinit
    
    drwxr-xr-x. 2 root root  4096 Sep 27 10:56 rc0.d
    
    drwxr-xr-x. 2 root root  4096 Sep 27 10:56 rc1.d
    
    drwxr-xr-x. 2 root root  4096 Sep 27 10:56 rc2.d
    
    drwxr-xr-x. 2 root root  4096 Sep 27 10:56 rc3.d    
    
    drwxr-xr-x. 2 root root  4096 Sep 27 10:56 rc4.d
    
    drwxr-xr-x. 2 root root  4096 Sep 27 10:56 rc5.d
    
    drwxr-xr-x. 2 root root  4096 Sep 27 10:56 rc6.d
    
    [root@BASE ~]# 
    
    rc1-6.d这些目录对应的是不同的运行级别,系统在开机的时候会加载这些目录中的文件,来实现在不同的级别是否启动服务。
    
     
    
    [root@BASE ~]# ll /etc/rc.d/rc2.d/
    
    total 0
    
    lrwxrwxrwx. 1 root root 16 Jun 13 21:13 K01smartd -> ../init.d/smartd
    
    lrwxrwxrwx  1 root root 13 Jun 18 11:57 K05atd -> ../init.d/atd
    
    lrwxrwxrwx. 1 root root 16 Jun 13 21:13 K10psacct -> ../init.d/psacct
    
    lrwxrwxrwx. 1 root root 19 Jun 13 21:12 K10saslauthd -> ../init.d/saslauthd
    
    lrwxrwxrwx. 1 root root 18 Jun 13 21:13 K15svnserve -> ../init.d/svnserve
    
    lrwxrwxrwx  1 root root 19 Jun 18 11:57 K16abrt-ccpp -> ../init.d/abrt-ccpp
    
    ........
    
    lrwxrwxrwx  1 root root 17 Aug 21 14:34 S13rpcbind -> ../init.d/rpcbind
    
    lrwxrwxrwx. 1 root root 14 Jun 13 21:13 S55sshd -> ../init.d/sshd
    
    lrwxrwxrwx  1 root root 16 Sep 27 10:56 S64mysqld -> ../init.d/mysqld
    
    lrwxrwxrwx. 1 root root 15 Jun 13 21:12 S90crond -> ../init.d/crond
    
    lrwxrwxrwx. 1 root root 11 Jun 13 21:12 S99local -> ../rc.local

    当将某一个服务设置为开机启动的时候,系统会自动创建一个软连接来指向rc.d/init.d中该服务的启动脚本,所以如果想使用chkconfig来管理服务的开机启动的时候必须先要将服务的启动脚本放到rc.d/init.d中去。

    如果将某一个服务设置为2级别on,系统就会在/etc/rc.d/rc2.d/中创建一个以S开头的软连接,如果设置为off,就会创建一个以K开头连接文件。

    • 原理演示:

    Mysqld服务在2级别是开启的

    [root@BASE ~]# chkconfig|grep mysql
    
    mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

    rc2.d目录中将mysqld的软连接删除。

    [root@BASE ~]# rm /etc/rc.d/rc2.d/S64mysqld 

    可以看到mysqld服务在2级别的变为为off

    [root@BASE ~]# chkconfig|grep mysql         
    
    mysqld          0:off   1:off   2:off   3:on    4:on    5:on    6:off
    
    [root@BASE ~]# 

     如何设置脚本使其能够通过chkconfig管理

    需要在脚本中(往往在脚本的开头)加上如下的内容

    #chkconfig: 2345 21 60

      2345 表示默认的都在那个级别开机启动

      21 表示启动顺序

      60 表示关闭的顺序

       提示:在设置顺序的时候注意不要和之前的软件冲突,同时要注意依赖软件的之间的先后顺序,例如nfs和rpcbind。

  • 相关阅读:
    Solidity字符串类型
    Solidity中如何判断mapping中某个键是否为空呢?
    CentOS7 内核模块管理
    Centos7 搭建pptp服务器
    Python实现批量执行华为交换机脚本
    CentOS7 硬盘检测
    华为交换机SOCK CPU占用率高处理方法
    CentOS7 iptables安装及操作
    CentOS7 修复grub.cfg文件
    CentOS7 修复MBR引导
  • 原文地址:https://www.cnblogs.com/along1226/p/4842043.html
Copyright © 2011-2022 走看看