在本文中,我將向您展示如何列出 Linux 上所有正在運行的服務。 我們還將檢查如何在 systemd 系統上檢查服務的狀態。
讓我們學習用於在 Centos/RHEL 7.x 上列出服務的不同命令。
檢查並列出 linux 服務(Centos/RHEL 7.x 上的 systemd)
要列出 systemd 服務,我們將使用 systemctl 命令,如下所示
# systemctl list-unit-files
樣本輸出
列出活動的 systemd 服務運行
# systemctl | more
樣本輸出
您可以使用的另一個命令是
# systemctl list-units --type service
樣本輸出
您可以將輸出通過管道傳遞給 grep 以搜索更具體的服務,如下所示
# systemctl | grep "apache2"
輸出
使用 Netstat 命令列出服務
Nestat 命令是一種用於檢查活動網絡連接、接口統計信息以及路由表的工具。 它在所有 Linux 發行版中都可用,在這裡我們將檢查如何使用 netstat 命令列出服務。
檢查他們正在偵聽的端口旁邊的服務。
# netstat -pnltu
輸出
查看 /etc/services 文件
這 /etc/services
是一個 ASCII 文件,其中包含有關客戶端應用程序可能在計算機上使用的眾多服務的信息。 該文件中包含服務名稱、端口號和它使用的協議,以及任何適用的別名。 ITO put t 表示服務是 TCP 還是 UDP 以及它根據 IANA 使用的名稱。 此信息特別有用,如果您不確定默認情況下哪個服務在哪個端口上運行。
要獲得更清晰的圖片,請查看 /etc/services
文件使用您選擇的文本編輯器。
vim /etc/services
輸出
Systemd 服務狀態檢查
在較新版本的 Linux 中,存在 Systemd init。 要檢查服務是否正在運行,請使用以下語法
句法
# systemctl status service_name
為了 example, 要檢查 OpenSSH 是否在您的系統上運行,請運行
# systemctl status sshd
輸出
或者,您可以使用以下語法檢查服務是否處於活動狀態
# systemctl is-active service_name
在這種情況下,要檢查 OpenSSH 是否處於活動狀態,請執行
# systemctl is-active sshd
輸出
此外,您可以使用下面的命令來檢查服務是否已啟用
# systemctl is-enabled service_name
要檢查是否啟用了 OpenSSH,請運行
# systemctl is-enabled sshd
輸出
檢查舊系統中的服務狀態(Centos/Rhel 6.x)
對於運行 SysV Init 的系統,您可以通過運行來檢查服務的狀態
# service service_name status
為了 example, 要檢查 OpenSSH 的狀態,請運行
# service sshd status
輸出
您還可以通過運行來檢查所有服務
# chkconfig --list
輸出
我們希望您發現這篇文章有用。 隨意嘗試這裡列出的一些 systemd 命令。