如何在 Linux 中列出服務

在本文中,我將向您展示如何列出 Linux 上所有正在運行的服務。 我們還將檢查如何在 systemd 系統上檢查服務的狀態。

讓我們學習用於在 Centos/RHEL 7.x 上列出服務的不同命令。

檢查並列出 linux 服務(Centos/RHEL 7.x 上的 systemd)

要列出 systemd 服務,我們將使用 systemctl 命令,如下所示

# systemctl list-unit-files

樣本輸出

列出活動的 systemd 服務運行

# systemctl | more

樣本輸出

systemctl 命令

您可以使用的另一個命令是

# systemctl list-units --type service

樣本輸出

systemctl list-units --type 服務

您可以將輸出通過管道傳遞給 grep 以搜索更具體的服務,如下所示

# systemctl | grep "apache2"

輸出

systemctl grep apache2

使用 Netstat 命令列出服務

Nestat 命令是一種用於檢查活動網絡連接、接口統計信息以及路由表的工具。 它在所有 Linux 發行版中都可用,在這裡我們將檢查如何使用 netstat 命令列出服務。

檢查他們正在偵聽的端口旁邊的服務。

# netstat -pnltu

輸出

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

輸出

服務 sshd 狀態

您還可以通過運行來檢查所有服務

# chkconfig --list

輸出

chkconfig --list

我們希望您發現這篇文章有用。 隨意嘗試這裡列出的一些 systemd 命令。