/lib/systemd/system 系統服務管理,開機啓動,無需登陸用戶html
/usr/lib/systemd/system 用戶服務管理,用戶登陸後自動啓動linux
1.systemd的特性:ssh
#支持並行化任務socket
#同時採用socket式和D-Bus總線式激活服務
ide
#按需啓動守護進程daemon
工具
#利用linux的cgroups監視進程
spa
#支持快照和系統恢復
hibernate
#維護掛載點和自動掛載點
rest
#各服務間基於依賴關係進行精密控制
orm
2.systemd基本工具
監視和控制systemd的主要命令systemctl,該命令用於查看系統狀態和管理系統及服務
3.查看分析系統及服務狀態:
#systemctl 輸出激活的單元
#systemctl list-units 輸出激活的單元
#systemctl --failed 輸出運行失敗的服務單元
#systemctl list-units-files 使用單元文件
一個單元配置文件能夠描述以下內容之一:(.service)系統服務,(.mount)掛載點,(.sockets)sockets系統設備,交換分區/文件,(.target)啓動目標,文件系統路徑。
詳情參閱man 5 systemd.unit
4.服務單元管理
使用 systemctl 控制單元時,一般須要使用單元文件的全名,包括擴展名(例如 sshd.service)。可是有些單元能夠在systemctl中使用簡寫方式:
a.若是無擴展名, 默認把擴展名看成 .service。例如 netcfg 和 netcfg.service 是等價的。
b.掛載點會自動轉化爲相應的 .mount 單元。例如 /home 等價於 home.mount。
c.設備會自動轉化爲相應的 .device 單元,因此 /dev/sda2 等價於 dev-sda2.device。
#systemctl start <單元> 當即激活相應單元
#systemctl stop <單元> 當即中止單元
#systemctl restart <單元> 重啓單元
#systemctl reload <單元> 從新讀取單元配置
#systemctl daemon-reload 從新加載systemd,掃描新的或有變化的單元
#systemctl status <單元> 單元的運行狀態
#systemctl is-enable <單元> 檢查單元是否配置爲自動啓動
#systemctl enable <單元> 設置單元開機啓動
通常設置enable後,會自動鏈接到啓動文件。手動配置,則兩種方式:1.手動建一條軟鏈接;2.在/lib/systemd/system/下建一個xx.service文件,並修改相應配置。(參考文檔:) #systemctl disable <單元> 取消開機激活單元
5.電源管理
安裝polkit便可實現電源管理
若是在本地systemd-logind用戶會話,且當前沒有其餘活動的話,無需root便可執行電源管理。
若是tty/ssh等遠程登陸用戶,systemd將會自動請求root權限
#systemctl reboot 重啓
#systemctl poweroff 退出系統並中止電源
#systemctl suspend 待機
#systemctl hibernate 休眠
#systemctl hybrid-sleep 混合休眠模式
systemd擴展:systemd詳解 https://blog.linuxeye.com/400.html