新聞中心
Linux系統(tǒng)提供各種系統(tǒng)服務(wù)(如進(jìn)程管理、登錄、syslog、cron等)和網(wǎng)絡(luò)服務(wù)(如遠(yuǎn)程登錄、電子郵件、打印機(jī)、Web主機(jī)、數(shù)據(jù)存儲(chǔ)、文件傳輸、域名解析(使用DNS)、動(dòng)態(tài)IP地址分配(使用DHCP)等等)。

從技術(shù)上講,服務(wù)是一個(gè)或一組進(jìn)程(通常稱為守護(hù)進(jìn)程)在后臺(tái)連續(xù)運(yùn)行,等待請(qǐng)求(特別是來自客戶機(jī)的請(qǐng)求)。
Linux支持不同的方法來管理服務(wù)(啟動(dòng)、停止、重啟、在系統(tǒng)啟動(dòng)時(shí)的自動(dòng)啟動(dòng)等),通常通過流程或服務(wù)管理器。 大多數(shù)現(xiàn)代Linux發(fā)行版現(xiàn)在使用相同的進(jìn)程管理器:systemd。
Systemd是Linux的系統(tǒng)和服務(wù)管理器; init進(jìn)程的替代品,與SysV和LSB init腳本兼容,systemctl命令是管理systemd的主要工具。
在本指南中,我們將演示如何在Linux下列出systemd下所有正在運(yùn)行的服務(wù)。
在Linux SystemD下列出正在運(yùn)行的服務(wù)
當(dāng)您運(yùn)行沒有任何參數(shù)的systemctl命令時(shí),它將顯示所有已加載的systemd單元(有關(guān)systemd單元的更多信息,請(qǐng)閱讀systemd文檔)的列表,包括服務(wù),并顯示它們的狀態(tài)(是否處于活動(dòng)狀態(tài))。
# systemctl
要列出系統(tǒng)上所有已加載的服務(wù)(無論是活動(dòng)的,運(yùn)行的,退出的還是失敗的,請(qǐng)使用 list-units子命令和–type開關(guān),其值為service。
# systemctl list-units –type=service
或者
# systemctl –type=service
要列出所有已加載但處于活動(dòng)狀態(tài)的服務(wù),包括正在運(yùn)行的服務(wù)和已退出的服務(wù),可以添加–state選項(xiàng),其值為active,如下所示。
# systemctl list-units –type=service –state=active
或者
# systemctl –type=service –state=active
如果要快速瀏覽所有正在運(yùn)行的服務(wù)(即所有已加載和正在運(yùn)行的服務(wù)),請(qǐng)運(yùn)行以下命令。
# systemctl list-units –type=service –state=running
或者
# systemctl –type=service –state=running
如果經(jīng)常使用上一個(gè)命令,可以在~/.bashrc文件中創(chuàng)建一個(gè)別名命令,如圖所示,以便輕松調(diào)用它。
# vim ~/.bashrc
然后在別名列表下添加以下行,如屏幕截圖所示。
alias running_services=’systemctl list-units –type=service –state=running’
將更改保存在文件中并關(guān)閉它。 從現(xiàn)在開始,使用“running_services”命令查看服務(wù)器上所有已加載,正在運(yùn)行的服務(wù)的列表。
# running_services #使用Tab完成
此外,服務(wù)的一個(gè)重要方面是他們使用的端口。 要確定守護(hù)程序進(jìn)程正在偵聽的端口,可以使用netstat或ss工具,如圖所示。
其中標(biāo)志-l表示打印所有偵聽套接字,-t顯示所有TCP連接,-u表示所有UDP連接,-n表示打印數(shù)字端口號(hào)(而不是應(yīng)用程序名稱),-p表示顯示應(yīng)用程序名稱。
# netstat -ltup | grep MySQLd.service
或者
# ss -ltup | grep zabbix_agentd
第五列顯示套接字:本地地址:端口。 在這種情況下,進(jìn)程zabbix_agentd正在偵聽端口10050。
此外,如果您的服務(wù)器運(yùn)行防火墻服務(wù),該服務(wù)控制如何阻止或允許來自或來自所選服務(wù)或端口的流量,您可以使用firewall-cmd或ufw命令列出已在防火墻中打開的服務(wù)或端口( 取決于您正在使用的Linux發(fā)行版),如下所示。
# firewall-cmd –list-services [FirewallD]# firewall-cmd –list-ports
$ sudo ufw status [UFW Firewall]
總結(jié)
目前為止就這樣了! 在本指南中,我們演示了如何在Linux下查看systemd下的運(yùn)行服務(wù)。 我們還介紹了如何檢查服務(wù)正在偵聽的端口以及如何查看在系統(tǒng)防火墻中打開的服務(wù)或端口。 你有任何補(bǔ)充或提問嗎? 如果有,請(qǐng)使用下面的評(píng)論表聯(lián)系我們。
新聞標(biāo)題:Linux中列出systemd下所有正在運(yùn)行的服務(wù)
路徑分享:http://m.fisionsoft.com.cn/article/cogihhs.html


咨詢
建站咨詢
