系統引導時實現服務並行啓動
按需激活進程
系統狀態快照
基於依賴關係定義服務控制邏輯
核心概念:unit
配置文件進行標誌和配置:文件中主要包含了系統服務、監聽socket、保存的系統快照以及其他與init相關的init相關的信息
保存至:
/usr/lib/systemd/system
/run/systemd/system
/etc/systemd/system
unit類型
Service unit:文件擴展名爲.service用於定義系統服務;
Target unit 文件擴展名爲.target用於模擬實現“運行級別”;
Device unit .device 用於定義內核識別的設備
Mount unit .mount 用於定義文件系統掛載點
Socket unit .socket 用於標識進程間通信用的socket文件
Snapshot unit .snapshot 管理系統快照
Swap unit .swap 標識swap 設備
Automount unit .automount 文件系統的自動掛載點
Path unit .path 定義文件系統中的一個文件或目錄
關鍵特性:
基於socket的激活機制:socket與服務程序分離;
基於bus的激活機制:
基於device的激活機制:
基於path的激活機制:
系統快照:保存各unit的當前狀態信息於持久存儲設備中
向後兼容sysv init腳本
不兼容
systemctl 命令固定不變
非由systemd啓動的服務 systemctl無法與之通信
條件式重啓
service name condrestart ==> systemctl try-restart name,service
chkconfig --list name ==> systemctl is-active name.service
重啓或重載服務
systemctl reload-or-restart name.service
重載或條件式重啓服務
systemctl reload-or-try-restart name.service
禁止設定爲開機自啓
systemctl mask name.service 取消爲unmask
查看激活的服務
systemctl list-units --type service
查看所有服務
systemctl list-units --type service --all
chkconfig命令的對應關係:
設定某服務開機自啓:chkconfig name on ==> systemctl enable
關閉自啓 chkconfig name off ==> systemctl disable name
查看開機自啓狀態
chkconfig --list ==> systmectl list-unit-files --type service
查看服務依賴關係
systemctl list-dependencies name.service
target units:
unit配置文件 .target
運行級別
0 ==> runlevel0.target,poweroff.target 關機
1 ==》runlevel1.target,rescue.target 單用戶級別
2 ==》runlevel2.target,multi-user.taeget 多用戶
3 ==>runlevel3.target,multi-user.target
4=2=3
5==> runlevel5.target;graphical.target 圖形
6 ==> runlevel6.target;reboot.target
級別切換:
init N ==> systemctl isolate name.target
查詢級別 runlevel == systemctl list-units --type target
獲取默認運行級別
/etc/inittab ==> systemctl get-default
修改默認級別
/etc/inittab ==> systemctl set-default graphical.target
切換急救模式
systemctl rescue
切換緊急模式
systemctl emergency
其他常用命令
關機:systemctl halt、systemctl poweroff
重啓:systemctl reboot
掛起:systemctl suspend
快照systemctl hibernate
快照並掛起 systemctl hybrid-sleep