要查看linux系統(tǒng)中服務(wù)運行狀態(tài),最常用的方法是使用systemctl命令。1. 查看具體服務(wù)狀態(tài)可執(zhí)行systemctl status ;2. 快速判斷服務(wù)是否運行可用systemctl is-active ;3. 啟動、停止和重啟服務(wù)分別用sudo systemctl start/stop/restart ;4. 重載配置使用sudo systemctl reload (視服務(wù)支持情況);5. 設(shè)置開機自啟用sudo systemctl enable ,取消自啟則用sudo systemctl disable ;6. 查看所有服務(wù)狀態(tài)列表使用systemctl list-units –type=service或加–all參數(shù)顯示全部服務(wù)。掌握這些命令能有效管理系統(tǒng)服務(wù),并應(yīng)注意不同發(fā)行版的服務(wù)名稱可能存在差異。
在linux系統(tǒng)中,查看服務(wù)運行狀態(tài)最常用的方式就是使用 systemctl 命令。它是Systemd系統(tǒng)和服務(wù)管理工具的核心命令之一,不僅能用來查看服務(wù)狀態(tài),還能啟動、停止、重啟和管理各種系統(tǒng)服務(wù)。
查看服務(wù)狀態(tài)的基本命令
要查看某個服務(wù)的當前狀態(tài),基本命令格式如下:
systemctl status <服務(wù)名>
比如你想查看 nginx 服務(wù)是否正在運行,可以執(zhí)行:
systemctl status nginx
執(zhí)行后會顯示服務(wù)的狀態(tài)信息,包括是否處于“active(運行中)”、“inactive(未運行)”或“failed(失敗)”狀態(tài)。同時還會顯示最近的日志條目,有助于快速判斷問題。
如果你只是想快速判斷服務(wù)有沒有運行,不想看到太多輸出內(nèi)容,可以用下面這個更簡潔的命令:
systemctl is-active <服務(wù)名>
它只會返回 active、inactive 或 failed 等狀態(tài)結(jié)果,適合腳本中使用。
啟動、停止和重啟服務(wù)
除了查看狀態(tài),systemctl 還能直接操作服務(wù)的啟停:
-
啟動服務(wù):
sudo systemctl start <服務(wù)名>
-
停止服務(wù):
sudo systemctl stop <服務(wù)名>
-
重啟服務(wù)(適用于配置修改后):
sudo systemctl restart <服務(wù)名>
-
重載配置(不中斷服務(wù)的情況下應(yīng)用新配置):
sudo systemctl reload <服務(wù)名>
注意:并不是所有服務(wù)都支持 reload,具體要看服務(wù)本身是否提供了相關(guān)功能。
這些命令都非常直觀,但在實際使用時要注意權(quán)限問題,通常都需要加上 sudo 才能執(zhí)行。
設(shè)置開機自啟動服務(wù)
有些服務(wù)我們希望在系統(tǒng)啟動時就自動運行,這時候可以用以下命令設(shè)置開機自啟:
sudo systemctl enable <服務(wù)名>
如果你不再需要某個服務(wù)隨系統(tǒng)啟動,可以取消自啟:
sudo systemctl disable <服務(wù)名>
小提示:某些服務(wù)可能默認沒有開啟自啟,比如安裝完數(shù)據(jù)庫或者Web服務(wù)器之后,記得手動啟用,否則重啟后服務(wù)不會自動運行。
查看所有服務(wù)狀態(tài)列表
如果你想查看系統(tǒng)中所有服務(wù)的狀態(tài),可以使用:
systemctl list-units --type=service
這條命令會列出當前正在運行的服務(wù)。如果想看所有已安裝的服務(wù)(不管現(xiàn)在有沒有運行),可以加一個參數(shù):
systemctl list-units --type=service --all
這樣可以看到更多服務(wù)的信息,便于排查那些你認為應(yīng)該運行但沒運行的服務(wù)。
基本上就這些了。掌握這幾個常用命令,就能輕松地用 systemctl 管理Linux下的服務(wù)狀態(tài)。雖然看起來簡單,但很多新手容易忽略的是,不同發(fā)行版可能會有細微差別,比如服務(wù)名稱不一定完全一致,建議配合 systemctl list-units 多看看本地環(huán)境的實際服務(wù)名。