首頁 > 套件與系統管理 > systemctl

systemctl 命令指南:systemd 服務管理的核心

`systemctl` 命令是 systemd 系統和服務管理器的核心工具。systemd 是當前 Linux 發行版中用於管理系統啟動過程、服務、掛載點、套接字等的標準。通過 `systemctl`,您可以檢查服務狀態、啟動/停止/重新啟動服務,以及設置系統啟動時自動運行的服務等,有效地控制整個系統。通過本指南,您可以學習到 `systemctl` 的多種使用方法。

systemctl 概述

systemd 是管理系統啟動(啟動)過程的 init 系統,控制系統啟動後在後台執行的所有服務(守護進程)。`systemctl` 是可以在命令行中操作這些 systemd 功能的接口。過去的 `service`、`chkconfig`、`reboot`、`shutdown` 等多個命令被整合為 `systemctl`。

理解 systemd 單元 (Unit)

systemd 將管理的所有內容抽象為 '單元(Unit)' 的概念。每個單元代表特定的服務、掛載點、設備等。最常處理的單元類型包括 `服務單元 (.service)`、`套接字單元 (.socket)`、`掛載單元 (.mount)`、`設備單元 (.device)`、`目標單元 (.target)` 等。通常省略 `.service` 擴展名。

systemctl 的主要角色

  • 檢查服務狀態: 識別正在運行的服務、啟用的服務、失敗的服務等。
  • 控制服務: 啟動、停止、重新啟動、重新加載(重新讀取設置)服務。
  • 設置服務自動啟動: 設置或取消設置服務在系統啟動時自動啟動。
  • 系統電源管理: 重新啟動、關閉系統或切換到待機模式。
  • 管理單元文件: 檢查和修改單元文件的位置、依賴等。

主要 systemctl 命令選項

`systemctl` 命令提供了豐富的選項以進行服務管理、系統電源控制、單元文件管理等多種功能。大多數與服務相關的命令需要 `sudo` 權限。

1. 服務狀態及控制

2. 設置服務自動啟動

3. 系統電源管理

4. 單元文件及列表

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`systemctl` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用示例

通過 `systemctl` 命令的各種使用示例,學習如何在基於 systemd 的系統中有效地管理服務。

檢查網頁伺服器 (Nginx) 服務狀態

systemctl status nginx.service

檢查 Nginx 網頁伺服器目前是否正在運行、是否為非活躍狀態、是否出現錯誤等詳細信息。

啟動 MySQL 服務

sudo systemctl start mysql.service

啟動 MySQL 數據庫服務。

重新啟動 SSH 服務

sudo systemctl restart sshd.service

重新啟動 SSH(安全外殼)服務。在更改配置文件後應用時很有用。

設置 Apache 網頁伺服器自動啟動

sudo systemctl enable apache2.service

設置 Apache 網頁伺服器在系統啟動時自動啟動。

檢查所有活躍服務列表

systemctl list-units --type=service --state=active

列出當前系統中狀態為 'active'(正在運行或已就緒)的所有服務單元。

通過 systemd 重新啟動系統

sudo systemctl reboot

以推薦的方式安全地重新啟動系統。

查看特定服務單元文件內容

systemctl cat redis-server.service

檢查 Redis 服務的 systemd 單元文件(例如:`/etc/systemd/system/redis.service`)內容,以理解服務的運作方式。


相同類別命令