Linux 系統服務有時也稱為守護程序,是在Linux啟動時自動加載并在Linux退出時自動停止的系統任務。
在本文中,良許将為大家介紹如何列出 Linux 系統裡所有運行的服務,以及如何檢查某個服務的當前狀态。
Centos/RHEL 7.X 的 systemd 系統服務查看CentOS 7.x開始,CentOS開始使用 systemd 服務來代替 daemon ,原來管理系統啟動和管理系統服務的相關命令全部由 systemctl 命令來代替。
systemctl list-unit-files
命令的輸出結果如下:
查看所有運行着的 systemd 服務可以運行以下命令:
systemctl | more
命令的輸出結果如下:
除此之外,你還可以使用以下命令:
systemctl list-units --type service
命令的輸出結果如下:
如果你想要在結果裡搜索某個特定的服務,可以使用管道及 grep 命令。
systemctl | grep "apache2"
命令的輸出結果如下:
使用 netstat 命令查看系統服務
Netstat 命令是用來檢查活動的網絡連接、接口統計分析,以及路由表狀态。這個命令在所有的 Linux 發行版都可用,我們接下來就用它來查看系統服務。
查看服務及它們所監聽的端口:
netstat -pnltu
命令的輸出結果如下:
通過系統服務配置文件查看系統服務
服務的配置文件是 /etc/services 是一個 ASCII 文件,它包含了一系列的用戶程序可能用到的服務。在這個文件裡,包括了服務名稱,端口号,所使用的協議,以及一些别名。
對于這個文件,我們可以使用任意的文本工具查看,比如 vim :
vim /etc/services
命令的輸出結果如下:
查看 systemd 服務狀态
在一些新版的 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
命令的輸出結果如下:
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!