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來管理。ide
chkconfig
chkconfig --list工具
這裏先提示下級別的概念,就硬記概念,反正這個CentOS7之後版本就不用了,咱們總結一些關鍵詞方便理解:
0是關機,
1是單用戶,就是咱們以前修改root帳戶密碼的模式,
2是多用戶模式,但比3模式少了一個nfs服務
3是多用戶命令行模式,最經常使用
4是保留級別暫時沒用,
5是圖形模式,
6是重啓,
關閉network服務命令行
chkconfig network off
3d
k開啓network服務rest
chkconfig network on
blog
關閉第5級別的network服務it
chkconfig --level 5 network offconsole
自定義一個服務並把它加入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服務是否開機啓動