如何在 Ubuntu 和其他 Linux 發行版中啟動、停止和重啟服務
服務是必不可少的後台進程,它通常隨系統啟動,並在關機時關閉。如果你是系統管理員,那麼你會定期處理服務。如果你是普通桌面用戶,你可能會遇到需要重啟服務的情況,例如安裝 Barrier 來用於在計算機之間共享滑鼠和鍵盤。或在使用 ufw 設置防火牆時。
今天,我將向你展示兩種管理服務的方式。你將學習在 Ubuntu 或任何其他 Linux 發行版中啟動、停止和重啟服務。
systemd 與 init
如今,Ubuntu 和許多其他發行版都使用 systemd 而不是舊的 init。
在 systemd 中,可以使用
systemctl
命令管理服務。在 init 中,你可以使用
service
命令管理服務。你會注意到,即使你的 Linux 系統使用 systemd,它仍然可以使用
service
命令(與 init 系統一起使用的)。這是因為service
命令實際上已重定向到systemctl
。systemd 引入了向後兼容性,因為系統管理員們習慣使用service
命令。在本教程中,我將同時展示
systemctl
和service
命令。
我用的是 Ubuntu 18.04,但其他版本的過程也一樣。
方法 1:使用 systemd 在 Linux 中管理服務
我從 systemd 開始,因為它被廣泛接受。
1、列出所有服務
為了管理服務,你首先需要知道系統上有哪些服務可用。你可以使用 systemd 的命令列出 Linux 系統上的所有服務:
systemctl list-unit-files --type service -all
此命令將輸出所有服務的狀態。服務狀態有 啟用 、 禁用 、 屏蔽 (在取消屏蔽之前處於非活動狀態)、 靜態 和 已生成 。
與 grep 命令 結合,你可以僅顯示正在運行的服務:
sudo systemctl | grep running
現在,你知道了如何引用所有不同的服務,你可以開始主動管理它們。
注意: 下列命令中的 <service-name>
應該用你想管理的服務名代替。(比如:network-manager、ufw 等)
2、啟動服務
要在 Linux 中啟動服務,你只需使用它的名字:
systemctl start <service-name>
3、停止服務
要停止 systemd 服務,可以使用 systemctl
命令的 stop
選項:
systemctl stop <service-name>
4、重啟服務
要重啟 systemd 服務,可以使用:
systemctl restart <service-name>
5、檢查服務狀態
你可以通過列印服務狀態來確認你已經成功執行特定操作:
systemctl status <service-name>
這將以以下方式輸出:
這是 systemd 的內容。現在切換到 init。
方法 2:使用 init 在 Linux 中管理服務
init 的命令和 systemd 的一樣簡單。
1、列出所有服務
要列出所有 Linux 服務,使用:
service --status-all
前面的 [ – ]
代表禁用,[ + ]
代表啟用。
2、啟動服務
要在 Ubuntu 和其他發行版中啟動服務,使用命令:
service <service-name> start
3、停止服務
停止服務同樣簡單。
service <service-name> stop
4、重啟服務
如果你想重啟服務,命令是:
service <service-name> restart
5、檢查服務狀態
此外,要檢查是否達到了預期的結果,你可以輸出服務狀態:
service <service-name> status
這將以以下方式輸出:
最重要的是,這將告訴你某項服務是否處於活躍狀態(正在運行)。
總結
今天,我詳細介紹了兩種在 Ubuntu 或任何其他 Linux 系統上管理服務的非常簡單的方法。 希望本文對你有所幫助。
你更喜歡哪種方法? 讓我在下面的評論中知道!
via: https://itsfoss.com/start-stop-restart-services-linux/
作者:Sergiu 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive