RHEL6启动服务流程service和chkconfig区别详解

       在RHEL6系统中是利用service和chkconfig来管理服务的,而在RHEL7中则是用systemctl来管理服务,RHEL7利用systemctl管理服务大部分都是调用的以前RHEL6中的启动脚本,感觉就是把RHLE6里的东西封装了一下,没多大实质的变化,反而还让老玩家有点反感,但不可否认的是RHEL7比RHEL6开机速度快,启动机制上还是有区别的,RHEL6:UPstart (init)   RHLE7:Systemd   ,但今天不谈这个,只谈chkconfig和service。

 

  • chkconfig和service 区别

          chkconfig  设置是当前不生效,linux重启后才生效,
          service    设置是即时生效,linux关机重启后设置失效

 

  • 设置开机自启动服务

        例如:
        chkconfig iptables on     #设置iptables开机自启动,重启生效
        chkconfig iptables off      #设置iptables开机不自启,重启生效

  • 立即开启服务

       例如:
       service iptables start                       #立即开启 iptables ,重启失效
       service iptables stop            #立即开启 iptables ,重启失效

 

浅谈RHEL6启动服务

       RHEL6启动服务流程service和chkconfig区别详解_第1张图片           

                 开机启动哪些服务是先根据/etc/inttabl设置的开机默认级别来判断的,比如默认级别是3,则会调用rc3.d下的文件,如何调用的我在后面讲,不说深了,免得理解起来麻烦。

 

 

 chkconfig和service 管理服务

              RHEL6启动服务流程service和chkconfig区别详解_第2张图片

       service启动服务流程:

              例如:service  httpd start  

                    service命令是直接去调用/etc/rc.d/init/下httpd启动脚本(shell脚本),脚本里封装了很多函数比如start、stop等 ,这些函数是去调用真正的服务管理程序的,那些程序是编译好的二进制程序。

     

       chkconfig设置开机自启动

                 例如: chkconfig  httpd on    #级别3运行,其他级别一样·

                     chkconfig调用的是/etc/rc.d/rc3.d/下的文件,rc3.d/下的文件就很有意思了 ,比如文件  s01httpd  ,s01意思是启动级别为1, s01httpd 意思就是第一个启动httpd服务, s01httpd是个软链接文件链接到/etc/rc.d/init/httpd服务启动脚本,

                chkconfig开机时这样做的:根据/rc3.d/下的文件名来启动服务,比如发现有s01httpd文件,它就调用service httpd start 来启动服务,关键是文件名前面的S ,它代表启动的意思,如果将文件名前S改成K,那么这个服务开机时是不会启动的。

你可能感兴趣的:(linux)