chkconfig用法总结

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/a595364628/article/details/52781016

linux下man chkconfig帮助,得到如下文档:


     NAME
       chkconfig  -  updates  and queries runlevel information for system services

    OPTIONS
       --level levels
              Specifies the run levels an operation should pertain to.  It  is
              given  as  a string of numbers from 0 to 6. For example, --level
              35 specifies runlevels 3 and 5.

       --add name

              This option adds a new  service  for  management  by  chkconfig.
              When  a new service is added, chkconfig ensures that the service
              has either a start or a kill entry in  every  runlevel.  If  any
              runlevel  is missing such an entry, chkconfig creates the appro-
              priate entry as specified by Stop entries are
              present, the start and stop priorities of  the  script  will  be
              adjusted to account for these dependencies.

       --del name
              The  service  is removed from chkconfig management, and any sym-
              bolic links in /etc/rc[0-6].d which pertain to it are removed.

              Note that future package installs for this service may run  chk-
              config  --add,  which  will re-add such links. To disable a ser-
              vice, run chkconfig name off.

       --override name
              If service name is configured exactly as  it  would  be  if  the
              --add  option  had  been  specified  with  no  override  file in
              /etc/chkconfig.d/name, and  base initscript, change
              the configuration for  service  name  to  follow  the  overrides
              instead of the base configuration.

       --list name
              This  option  lists  all  of  the services which chkconfig knows
              about, and whether they are stopped or started in each runlevel.
              If  name is specified, information in only display about service
              name.


       chkconfig是runlevel的系统服务管理。其中,chkconfig --add + 服务名,这里的服务名只能是yum安装服务,如 chkconfig --add httpd, 即把httpd服务加入到runlevel的系统服务管理。加入之后的默认情况是,httpd服务在6个启动级别下都是关闭的。 如下:

       [root@localhost ~]# chkconfig --list |grep httpd
       httpd           0:off   1:off   2:off   3:off    4:off   5:off   6:off

       如果我们想在系统级别为3(字符界面)的情况下把httpd服务打开(即开机启动),这个时候就要使用--level参数, 如下:

       [root@localhost ~]# chkconfig --level 3 httpd on


       完成之后,这个时候查看3的运行级别下的启动情况,可以看到3级别下httpd可以默认启动了:

       [root@localhost ~]# chkconfig --list |grep httpd
       httpd           0:off   1:off   2:off   3:on    4:off   5:off   6:off

     

       --del和--add的作用相反,就不解释了。


       --list的作用是列出服务的在各个启动级别下的启动情况:

       如下:

      

     

       --override参数的作用目前不甚明了,到现在还没有使用过。


      补充特殊用法(但也常用):

      由一个问题开始来发散,请问,怎么把自己写的脚本添加到chkconfig服务里面,即可以直接通过service命令来直接调用?


      如写好一个脚本,如下:

     


      常在脚本开头添加 # chkconfig :2345 21 81,表示 在2345 的启动级别下,此脚本的启动服务顺序为21(即在/etc/init.d中的所有服务中的顺序为21),关闭顺序为81.这里要注意的是,此开启顺序和关闭顺序不能乱写。进入/etc/rc.d/rc3.d/目录,罗列所有的文件,可以看到如下:


     

    

      红框中K字母表示关闭顺序对应的服务,S表示开启顺序对应的服务。发现S21和K81没有,所以21 和 81的开启和关闭顺序是可用的。将写好的脚本放入/etc/init.d目录(这一步必须要做,否则无法使用chkconfig --add来添加脚本服务),之后

  

      [root@localhost scripts]# chkconfig --add test.sh
      [root@localhost scripts]# chkconfig --list test.sh
      test.sh         0:off   1:off   2:on    3:on    4:on    5:on    6:off


      可以看到在2345级别下,脚本作为服务已经开启了。


      ---------------------------------------------------------------------------------------

      关于开机启动的啰嗦:

      可以看到上述的开机添加较为麻烦,chkconfig可以作为开机启动来添加服务,rc.local这个文件也可以。但rc.local这个文件添加起来较为灵活,可以直接添加命令,不像chkconfig默认只能添加yum安装的服务,因此生产环境中,我常使用rc.local来添加开机启动服务。



      

     

展开阅读全文

没有更多推荐了,返回首页