systemctl 參數說明
1、使用語法
用法:systemctl [OPTIONS…] {COMMAND} …
2 、參數說明
參數 | 參數說明 |
---|---|
start | 立刻啟動后面接的unit |
stop | 立刻關閉后面接的unit |
restart | 立刻關閉后啟動后面接的unit,亦即執行stop再start的意思 |
reload | 不關閉后面接的unit的情況下,重載配置文件,讓設定生效 |
enable | 設定下次開機時,后面接的unit會被啟動 |
disable | 設定下次開機時,后面接的unit 不會被啟動 |
status | 目前后面接的這個unit 的狀態,會列出是否正在執行、是否開機啟動等信息。 |
is-active | 目前有沒有正在運行中 |
is-enable | 開機時有沒有預設要啟用這個unit |
kill | 不要被kill這個名字嚇著了,它其實是向運行unit的進程發送信號 |
show | 列出unit的配置。 |
mask | 注銷unit,注銷后你就無法啟動這個unit了 |
unmask | 取消對unit的注銷 |
list-units | 依據unit列出目前有啟動的unit。若加上–all才會列出沒啟動的。(等價于無參數) |
list-unit-files | 列出所有以安裝unit以及他們的開機啟動狀態(enabled、disabled、static、mask)。 |
–type=TYPE 就是unit type,主要有service,socket,target等 | |
get-default | 取得目前的 target |
set-default | 設定后面接的 target 成為默認的操作模式 |
isolate | 切換到后面接的模式 |
systemctl 描述
任務 | 舊指令 | 新指令 |
---|---|---|
使某服務自動啟動 | chkconfig --level 3 | httpd on systemctl enable httpd.service |
使某服務不自動啟動 | chkconfig --level 3 httpd off | systemctl disable httpd.service |
檢查服務狀態 | service httpd status systemctl status httpd.service (服務詳細信息) | systemctl is-enabled httpd.service (僅顯示是否 Active) |
顯示所有已啟動的服務 | chkconfig --list | systemctl list-units --type=service |
啟動某服務 | service httpd start | systemctl start httpd.service |
停止某服務 | service httpd stop | systemctl stop httpd.service |
重啟某服務 | service httpd restart | systemctl restart httpd.service |
某服務重新加載配置文件 | service httpd reload | systemctl reload httpd.service |
systemctl 示例
列出所有可用單元
systemctl list-unit-files |moresystemctl list-units --type=target
列出所有已加載單元
systemctl list-units |more
查看可用systemctl管理的所有服務
systemctl list-units --type=service
systemctl可用管理單元分很多種,日常工作中我們僅僅用于管理服務,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, 用于定義文件系統中的一文件或目錄;
注銷服務
服務被注銷后該服務就無法通過systemctl進行啟停管理。
[root@s153 system]# systemctl mask firewalld
Created symlink from /etc/systemd/system/firewalld.service to /dev/null.
[root@s153 system]# systemctl start firewalld
Failed to start firewalld.service: Unit is masked.
取消注銷服務
[root@s153 system]# systemctl unmask firewalld
Removed symlink /etc/systemd/system/firewalld.service.
[root@s153 system]# systemctl start firewalld
設置服務開機自啟動
[root@s153 system]# systemctl enable xinetd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/xinetd.service to /usr/lib/systemd/system/xinetd.service.
取消服務開機自啟動
[root@s153 system]# systemctl disable xinetd.service
Removed symlink /etc/systemd/system/multi-user.target.wants/xinetd.service.
查看機器信息
[root@s153 system]# systemctl list-machines
NAME STATE FAILED JOBS
s153 (host) running 0 01 machines listed.
查看系統環境變量
[root@s153 system]# systemctl show-environment
LANG=zh_CN.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
重新加載unit文件
如果手動修改了unit文件,可以使用此命令重新加載。
[root@s153 system]# systemctl daemon-reload
創建一個系統快照
[root@s153 system]# systemctl snapshot wuhs
wuhs.snapshot
刪除指定快照
[root@s153 system]# systemctl delete wuhs
查看服務是否開機自啟動
[root@s153 system]# systemctl is-enabled xinetd.service
enabled
殺死服務
[root@s153 system]# systemctl kill xinetd
[root@s153 system]# systemctl is-failed xinetd
inactive
進入救援模式
[root@s153 system]# systemctl rescueBroadcast message from root@s153 on pts/1 (三 2022-07-20 13:08:30 CST):The system is going down to rescue mode NOW!
#救援模式下切換到默認模式
[root@s153 ~]# systemctl default
關閉系統
[root@s153 ~]# systemctl poweroff
重啟機器
[root@s153 ~]# systemctl reboot
系統睡眠
suspend暫停模式,類似window環境的睡眠模式,會將系統的狀態數據保存到內存中,然后關閉掉大部分的系統硬件,當然,并沒有實際關機。當用戶按下喚醒機器的按鈕,系統數據會重內存中回復,然后重新驅動被大部分關閉的硬件,就開始正常運作!喚醒的速度較快。
[root@s153 ~]# systemctl suspend
查看系統啟動模式
[root@s153 boot]# systemctl get-default
multi-user.target
設置系統為圖形界面啟動
[root@s153 system]# systemctl set-default graphical.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.