skip to content
鰭狀漏斗

systemd 的常用指令

/ 閱讀時間 3 分鐘

systemd 是一個 Linux 中的服務管理員。雖然它管的不只有服務,但是在這篇文章中,我只想記錄關於服務的部分,有關服務的常用指令。

Start / Stop

啟動一個服務:

Terminal window
sudo systemctl start <service>

結束一個服務:

Terminal window
sudo systemctl stop <service>

重啟一個服務:

Terminal window
sudo systemctl restart <service>

Enable / Disable

啟用(enable)一個服務後,它就會在開機時自動啟動。要啟用一個服務,可以用下面的第一行指令;要停用一個服務,可以用下面的第二行指令。

Terminal window
sudo systemctl enable <service>
sudo systemctl disable <service>

啟用跟啟動是不一樣的,啟用一個服務不會讓它順便啟動。如果要在啟用一個服務的時候同時啟動,可以加 --now,否則就要等到下次開機才會啟動。

Terminal window
sudo systemctl enable --now <service>

查看狀態

這個指令會列出服務的詳細狀態:

Terminal window
sudo systemctl status <service>

我主要會看幾點:

  • 有沒有啟用?(有沒有出現 enabled
  • 狀態如何?(Active: 後面的狀態寫什麼?)
    • active:正常執行
    • inactive:沒有在執行
    • failed:執行失敗

完整的狀態列表可以看這份文件的表一。

重新載入服務

服務的設定檔有更改的時候,需要這個指令要求服務重新載入設定檔。

Terminal window
sudo systemctl reload <service>

服務檔案本身(unit file)有更改的時候,需要這個指令重新載入服務。

Terminal window
sudo systemctl daemon-reload

使用者的服務

上面提到的指令都是對系統的服務進行操作。要對使用者的服務操作,記得加上 --user,然後不需要 sudo 以 root 權限執行。

Terminal window
systemctl start --user <service>
systemctl stop --user <service>

參考資料