Linux系统自己包含了不少服务,CentOS6以前系统的服务用SysV控制,CentOS7改成systemd控制mysql
简而言之,chkconfig就是CentOS6之前用来控制系统服务的工具,
经常使用方法举例
chkconfig --list #列出全部的系统服务。
chkconfig --add httpd #增长httpd服务。
chkconfig --del httpd #删除httpd服务。
chkconfig --level httpd 2345 on #设置httpd在运行级别为二、三、四、5的状况下都是on(开启)的状态。
chkconfig --list mysqld #列出mysqld服务设置状况。
chkconfig --level 35 mysqld on #设定mysqld在等级3和5为开机运行服务,--level 35表示操做只在等级3和5执行,on表示启动,off表sql
系统开机时启动的部分服务存储在/etc/init.d/目录下。咱们能够把须要开机启动的服务放在这个目录下而后用chkconfig来管理。markdown
chkconfig
chkconfig --listide
这里先提示下级别的概念,就硬记概念,反正这个CentOS7之后版本就不用了,咱们总结一些关键词方便理解:
0是关机,
1是单用户,就是咱们以前修改root帐户密码的模式,
2是多用户模式,但比3模式少了一个nfs服务
3是多用户命令行模式,最经常使用
4是保留级别暂时没用,
5是图形模式,
6是重启,
关闭network服务工具
chkconfig network off
命令行
k开启network服务3d
chkconfig network on
rest
关闭第5级别的network服务blog
chkconfig --level 5 network offit
自定义一个服务并把它加入chkconfig管理
首先自定义的脚本要跟原有的network和netconsole服务同样格式的服务脚本。
咱们看下脚本的写法
vi /etc/init.d/network
红框的部分是必须有的
咱们能够把network复制一份而后作实验
cp network test
而后咱们把命令加入chkconfig管理
chkconfig --add test #注意两个减号
chkconfig --del test
随着版本更新,chkconfig已是过去时了。。。
查看systemd管理的服务
systemctl list-unit -all-type=service #查看全部服务
systemctl list-units --type=service #查看全部已经启动的服务
服务的选项有三种是否LOAD、ACTIVE、SUB,具体含义见下图:
针对单一服务的操做命令:
systemctl enable crond ##设置开机启动crond服务或工具systemctl disable crond ##设置关闭开机启动crond服务或工具systemctl status crond ##查看crond服务当前状态,如是否运行systemctl stop crond ##中止crond服务是,但开机仍会运行systemctl start crond ##开启crond服务systemctl restart crond ##重启crond服务systemctl is-enabled crond ##检查crond服务是否开机启动