(1) 什么是單元
在RHEL7之前,服務(wù)管理是分布式的被SysV init或UpStart通過/etc/rc.d/init.d下的腳本管理。這些腳本是經(jīng)典的Bash腳本,允許管理員控制服務(wù)的狀態(tài)。在RHEL7中,這些腳本被服務(wù)單元文件替換。
在systemd中,服務(wù)、掛載等資源統(tǒng)一被稱為單元,所以systemd中有許多單元類型,服務(wù)單元文件的擴(kuò)展名是.service,同腳本的功能相似。例如有查看、啟動(dòng)、停止、重啟、啟用或者禁止服務(wù)的參數(shù)。
systemd單元文件放置位置:
/usr/lib/systemd/system/systemd默認(rèn)單元文件安裝目錄
/run/systemd/systemsystemdsystemd單元運(yùn)行時(shí)創(chuàng)建,這個(gè)目錄優(yōu)先于按照目錄
/etc/systemd/system系統(tǒng)管理員創(chuàng)建和管理的單元目錄,優(yōu)先級(jí)最高。
(2)systemd的服務(wù)管理
使用systemcl命令可以控制服務(wù),service命令和chkconfig命令依然可以使用,但是主要是出于兼容的原因,應(yīng)該盡量避免使用。
使用systemctl命令的時(shí)候,服務(wù)名字的擴(kuò)展名可以寫全,例如:
systemctl stop bluuetooth.service
也可以忽略,例如:
systemctl stop bluetooth
systemctl常用命令:
啟動(dòng)服務(wù)
systemctl start name.service
關(guān)閉服務(wù)
systemctl stop name.service
重啟服務(wù)
systemctl restar tname.service
僅當(dāng)服務(wù)運(yùn)行的時(shí)候,重啟服務(wù)
systemctl try-restart name.service
重新加載服務(wù)配置文件
systemctl relaod name.service
檢查服務(wù)運(yùn)作狀態(tài)
systemctl status name.service
或者
systemctl is-active\ name.service
展示所有服務(wù)狀態(tài)詳細(xì)信息
systemctl list-units--type service --all
允許服務(wù)開機(jī)啟動(dòng)
systemctl enable name.service
禁止服務(wù)開機(jī)啟動(dòng)
systemclt disable name.service
檢查服務(wù)開機(jī)啟動(dòng)狀態(tài)
systemctl status name.service
或者
systemctl\
is-enabled name.service
列出所有服務(wù)并且檢查是否開機(jī)啟動(dòng)
systemctl list-unit-files --type service
(3)服務(wù)詳細(xì)信息查看
使用如下命令列出服務(wù):
systemctl list-units --type service
默認(rèn)只列出處于激活狀態(tài)的服務(wù),如果希望看到所有的服務(wù),使用--all或-a參數(shù):
systemctl list-units--type service --all
有時(shí)候希望看到所以可以設(shè)置開機(jī)啟動(dòng)的服務(wù),使用如下命令:
systemctl list-unit-files --type service
查看服務(wù)詳細(xì)信息,使用如下命令:
systemctl status name.service
服務(wù)信息關(guān)鍵詞解釋
Loaded服務(wù)已經(jīng)被加載,顯示單元文件絕對(duì)路徑,標(biāo)志單元文件可用。
Active服務(wù)已經(jīng)被運(yùn)行,并且有啟動(dòng)時(shí)間信息。
Main PID與進(jìn)程名字一致的PID,主進(jìn)程PID。
Status服務(wù)的附件信息。
Process相關(guān)進(jìn)程的附件信息。
CGroup進(jìn)程的CGroup信息。