Linux Systemctl是一個系統管理守護進程、工具和庫的集合,用于取代System V、service和chkconfig命令,初始進程主要負責控制systemd系統和服務管理器。通過Systemctl –help可以看到該命令主要分為:查詢或發送控制命令給systemd服務,管理單元服務的命令,服務文件的相關命令,任務、環境、快照相關命令,systemd服務的配置重載,系統開機關機相關的命令。
-
列出所有可用單元
systemctl list-unit-files
-
列出所有運行中單元
systemctl list-units
-
列出所有失敗單元
systemctl –failed
-
檢查某個單元(如 crond.service)是否啟用
systemctl is-enabled crond.service
-
列出所有服務
systemctl list-unit-files –type=service
-
Linux中如何啟動、重啟、停止、重載服務以及檢查服務(如 httpd.service)狀態
systemctl start httpd.service systemctl restart httpd.service systemctl stop httpd.service systemctl reload httpd.service systemctl status httpd.service
注意:當我們使用systemctl的start,restart,stop和reload命令時,終端不會輸出任何內容,只有status命令可以打印輸出。
-
如何激活服務并在開機時啟用或禁用服務(即系統啟動時自動啟動mysql.service服務)
systemctl is-active mysql.service systemctl enable mysql.service systemctl disable mysql.service
-
如何屏蔽(讓它不能啟動)或顯示服務(如ntpdate.service)
systemctl mask ntpdate.service ln -s /dev/null /etc/systemd/system/ntpdate.service systemctl unmask ntpdate.service rm /etc/systemd/system/ntpdate.service
-
使用systemctl命令殺死服務
systemctl kill crond
-
列出所有系統掛載點
systemctl list-unit-files –type=mount
-
掛載、卸載、重新掛載、重載系統掛載點并檢查系統中掛載點狀態
systemctl start tmp.mount systemctl stop tmp.mount systemctl restart tmp.mount systemctl reload tmp.mount systemctl status tmp.mount
-
在啟動時激活、啟用或禁用掛載點(系統啟動時自動掛載)
systemctl is-active tmp.mount systemctl enable tmp.mount systemctl disable tmp.mount
-
在Linux中屏蔽(讓它不能啟用)或可見掛載點
systemctl mask tmp.mount ln -s /dev/null /etc/systemd/system/tmp.mount systemctl unmask tmp.mount rm /etc/systemd/system/tmp.mount
-
列出所有可用系統套接口
systemctl list-unit-files –type=socket
-
檢查某個服務的所有配置細節
systemctl show mysql
-
獲取某個服務(httpd)的依賴性列表
systemctl list-dependencies httpd.service
-
啟動救援模式
systemctl rescue
-
進入緊急模式
systemctl emergency
-
列出當前使用的運行等級
systemctl get-default
-
啟動運行等級5,即圖形模式
systemctl isolate runlevel5.target
或
systemctl isolate graphical.target
-
啟動運行等級3,即多用戶模式(命令行)
systemctl isolate runlevel3.target
或
systemctl isolate multiuser.target
-
設置多用戶模式或圖形模式為默認運行等級
systemctl set-default runlevel3.target systemctl set-default runlevel5.target
-
重啟、停止、掛起、休眠系統或使系統進入混合睡眠
systemctl reboot systemctl halt systemctl suspend systemctl hibernate systemctl hybrid-sleep
對于不知運行等級為何物的人,說明如下。
Runlevel 0 : 關閉系統
Runlevel 1 : 救援,維護模式
Runlevel 3 : 多用戶,無圖形系統
Runlevel 4 : 多用戶,無圖形系統
Runlevel 5 : 多用戶,圖形化系統
Runlevel 6 : 關閉并重啟機器