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