Linux 系統服務有時也稱爲守護程序,是在Linux啓動時自動加載並在Linux退出時自動中止的系統任務。apache
在本文中,良許將爲你們介紹如何列出 Linux 系統裏全部運行的服務,以及如何檢查某個服務的當前狀態。vim
CentOS 7.x開始,CentOS開始使用 systemd 服務來代替 daemon ,原來管理系統啓動和管理系統服務的相關命令所有由 systemctl 命令來代替。bash
systemctl list-unit-files複製代碼
命令的輸出結果以下:網絡
查看全部運行着的 systemd 服務能夠運行如下命令:ssh
systemctl | more複製代碼
命令的輸出結果以下:工具
除此以外,你還可使用如下命令:spa
systemctl list-units --type service複製代碼
命令的輸出結果以下:code
若是你想要在結果裏搜索某個特定的服務,可使用管道及 grep 命令。orm
systemctl | grep "apache2"複製代碼
命令的輸出結果以下:cdn
Netstat 命令是用來檢查活動的網絡鏈接、接口統計分析,以及路由表狀態。這個命令在全部的 Linux 發行版均可用,咱們接下來就用它來查看系統服務。
查看服務及它們所監聽的端口:
netstat -pnltu複製代碼
命令的輸出結果以下:
服務的配置文件是 /etc/services
是一個 ASCII 文件,它包含了一系列的用戶程序可能用到的服務。在這個文件裏,包括了服務名稱,端口號,所使用的協議,以及一些別名。
對於這個文件,咱們可使用任意的文本工具查看,好比 vim :
vim /etc/services複製代碼
命令的輸出結果以下:
在一些新版的 Linux 系統,已經有些用 systemd 來取代 init 進程了。在這種系統裏,如何去查看系統服務呢?咱們可使用如下語法:
systemctl status service_name複製代碼
好比說,查看你係統上的 OpenSSH 是否在運行,能夠運行:
systemctl status sshd複製代碼
命令的輸出結果以下:
或者,你也可使用如下命令格式去查看某個服務是否正在運行:
systemctl is-active service_name複製代碼
若是使用這條命令的話,實現上面那個例子對應的命令爲:
systemctl is-active sshd複製代碼
命令的輸出結果以下:
同時,你也能夠查看一個服務是否已經被使能了,可使用如下命令:
systemctl is-enabled service_name複製代碼
好比,檢查 OpenSSH 服務是否已經使能,可能輸入如下命令:
systemctl is-enabled sshd複製代碼
命令的輸出結果以下:
其實也不能說早期,如今依然還有不少這樣的系統,上面跑着 SysV init 進程。對於這種系統,查看服務狀態的命令爲:
service service_name status複製代碼
仍是查看 OpenSSH 狀態的例子,對應的命令爲:
service sshd status複製代碼
命令的輸出結果以下:
你也可使用如下命令來查看全部的服務狀態:
chkconfig --list複製代碼
命令的輸出結果以下:
我是良許,世界500強外企 Linux 開發工程師,專業生產 Linux 乾貨。歡迎關注個人公衆號「良許Linux」,回覆「1024」獲取最新最全的技術資料,回覆「入羣」進入高手如雲技術交流羣。