2021-05-12 14:32:11
Systemd程式及相關命令
Systemd程式及相關命令
Systemd是一款用於Linux作業系統系統管理和服務管理的工具。它向後相容SysV init指令碼,並且支援許多類似於startup系統服務的功能,比如系統快照(snapshots)。在RHEL 7中,systemd替代了Upstarts。
主要特性
基於socket的啟用機制
基於bus的啟用機制
基於device的啟用機制
基於path的啟用機制
支援系統狀態快照
支援掛載和自動掛載點
支援並行化
開閉單元邏輯事務化
向後相容SysV init
Systemd單元型別
單元型別 檔案字尾 描述
Service unit .service 單個系統服務
Target unit .target 一組systemd單元
Automount unit .automount 一個檔案系統掛載點
Device unit .device 核心識別的裝置檔案
Path unit .path 檔案或目錄
Scope unit .scope 由外部建立的進程
Slice unit .slice 一組具有層級結構、管理系統進程的單元
Snapshot unit .snapshot systemd 管理器儲存的一種狀態
Socket unit .socket 一種進程間通訊socket
Swap unit .swap 交換裝置或者交換檔案
TImer unit .timer systemd計時器
相關檔案
/usr/lib/systemd/system/ 安裝時的組態檔
/run/systemd/system 相關單元在執行時產生的檔案
/etc/systemd/system/ systemctl enable 命令產生的檔案
使用systemd管理服務
systemctl start name.service
systemctl status name.service
systemctl stop name.service
systemctl restart name.service
systemctl try-restart name.service
systemctl reload name.service
systemctl is-active name.service
systemctl list-units [--type service --all ]
systemctl enable name.service
systemctl disable name.service
systemctl is-enabled name.service
systemctl list-unit-files --type service
使用systemd管理target
CentOS 7中的執行target與CentOS6中的執行等級類似,並且相容命令init和runlevel
0 runlevel0.target, poweroff.target Shut down and power off the system.
1 runlevel1.target, rescue.target Set up a rescue shell.
2 runlevel2.target, multi-user. target Set up a non-graphical multi-user system.
3 runlevel3.target, multi-user.target Set up a non-graphical multi-user system.
4 runlevel4.target,multi-user. target Set up a non-graphical multi-user system.
5 runlevel5.target,graphical.target Set up a graphical multi-user system.
6 runlevel6.target,reboot.target Shut down and reboot the system.
檢視執行等級
systemctl get-default
設定執行等級
systemctl set-default name.target
改變當前執行等級
systemctl isolate name.target
systemctl [rescue | halt | reboot | poweroff | hibernate | suspend]
Systemd 單元檔案
組成
[Unit]
包含通用的選項,包括描述、依賴的單元等
[unit type]
單元型別
[Install]
包含單元安裝資訊
常用選項
Description
Documentation
After
Requires
Wants
Conflicts
Type
ExecStart
ExecStop
ExecReload
Restart
RemainAfterExit
Alias
範例
[root@host ~]#cat /usr/lib/systemd/system/httpd.service [Unit] Description=The Apache HTTP Server After=network.target remote-fs.target nss-lookup.target Documentation=man:httpd(8) Documentation=man:apachectl(8) [Service] Type=notify EnvironmentFile=/etc/sysconfig/httpd ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND ExecReload=/usr/sbin/httpd $OPTIONS -k graceful ExecStop=/bin/kill -WINCH ${MAINPID} # We want systemd to give httpd some time to finish gracefully, but still want # it to kill httpd after TimeoutStopSec if something went wrong during the # graceful stop. Normally, Systemd sends SIGTERM signal right after the # ExecStop, which would kill httpd. We are sending useless SIGCONT here to give # httpd time to finish. KillSignal=SIGCONT PrivateTmp=true [Install] WantedBy=multi-user.target
CentOS7進程管理systemd詳解 http://www.linuxidc.com/Linux/2016-09/135464.htm
CentOS7/RHEL7 systemd詳解 http://www.linuxidc.com/Linux/2015-04/115937.htm
為什麼systemd會被如此迅速的採用? http://www.linuxidc.com/Linux/2014-08/105789.htm
systemd 與 sysVinit 彩版對照表 http://www.linuxidc.com/Linux/2014-09/106455.htm
太有用了!用systemd命令來管理Linux系統! http://www.linuxidc.com/Linux/2014-09/106490.htm
淺析 Linux 初始化 init 系統,第 3 部分: Systemd http://www.linuxidc.com/Linux/2014-12/110383.htm
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-10/148082.htm
相關文章