首頁 > 軟體

Systemd程式及相關命令

2020-06-16 17:03:41

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


IT145.com E-mail:sddin#qq.com