在Linux系統(tǒng)中查看所有正在運行服務(wù)的方法小結(jié)
前言
大多數(shù) Linux 管理員會在 System V(SysV)初始化系統(tǒng)中使用 service service-name status 或 /etc/init.d/service-name status,而在 systemd 初始化系統(tǒng)中使用 systemctl status service-name。
以上命令可以清楚地顯示該服務(wù)是否在服務(wù)器上運行,這也是每個 Linux 管理員都該知道的非常簡單和基礎(chǔ)的命令。
如果你對系統(tǒng)環(huán)境并不熟悉,也不清楚系統(tǒng)在運行哪些服務(wù),你會如何檢查?
是的,我們的確有必要這樣檢查一下。這將有助于我們了解系統(tǒng)上運行了什么服務(wù),以及哪些是必要的、哪些需要被禁用。
init(初始化的簡稱)是在系統(tǒng)啟動期間運行的第一個進程。init 是一個守護進程,它將持續(xù)運行直至關(guān)機。
大多數(shù) Linux 發(fā)行版都使用如下的初始化系統(tǒng)之一:
1.System V 是更老的初始化系統(tǒng)。
2.Upstart 是一個基于事件的傳統(tǒng)的初始化系統(tǒng)的替代品。
3.systemd 是新的初始化系統(tǒng),它已經(jīng)被大多數(shù)最新的 Linux 發(fā)行版所采用。
什么是 System V(SysV)
SysV(意即 System V) 初始化系統(tǒng)是早期傳統(tǒng)的初始化系統(tǒng)和系統(tǒng)管理器。由于 sysVinit 系統(tǒng)上一些長期懸而未決的問題,大多數(shù)最新的發(fā)行版都適用于 systemd 系統(tǒng)。
什么是 Upstart 初始化系統(tǒng)
Upstart 是一個基于事件的 /sbin/init 的替代品,它控制在啟動時的任務(wù)和服務(wù)的開始,在關(guān)機時停止它們,并在系統(tǒng)運行時監(jiān)控它們。
它最初是為 Ubuntu 發(fā)行版開發(fā)的,但其是以適合所有 Linux 發(fā)行版的開發(fā)為目標的,以替換過時的 System-V 初始化系統(tǒng)。
什么是 systemd
systemd 是一個新的初始化系統(tǒng)以及系統(tǒng)管理器,它已成為大多數(shù) Linux 發(fā)行版中非常流行且廣泛適應(yīng)的新的標準初始化系統(tǒng)。systemctl 是一個 systemd 管理工具,它可以幫助我們管理 systemd 系統(tǒng)。
方法一、在 System V(SysV)系統(tǒng)中查看運行的服務(wù)
以下命令可以幫助我們列出 System V(SysV) 系統(tǒng)中所有正在運行的服務(wù)。
如果服務(wù)很多,我建議使用文件查看命令,如 less、more 等,以便得到清晰的結(jié)果。
# service --status-all
或:
# service --status-all | more
或:
# service --status-all | less
執(zhí)行以下命令,可以只查看正在運行的服務(wù):
# service --status-all | grep running
運行以下命令以查看指定服務(wù)的狀態(tài):
# service --status-all | grep httpd
httpd (pid 627) is running...
或者使用以下命令也可以查看指定服務(wù)的狀態(tài):
# service httpd status
httpd (pid 627) is running...
使用以下命令查看系統(tǒng)啟動時哪些服務(wù)會被啟用:
# chkconfig --list
方法二、在 System V(SysV)系統(tǒng)中查看運行的服務(wù)
另外一種在 Linux 系統(tǒng)上列出運行的服務(wù)的方法是使用 initctl 命令:# initctl list
方法三、在 systemd 系統(tǒng)中查看運行的服務(wù)
systemctl 命令幫助我們列出 systemd 系統(tǒng)中所有服務(wù):
以上命令的解釋:
1.UNIT 相應(yīng)的 systemd 單元名稱
2.LOAD 相應(yīng)的單元是否被加載到內(nèi)存中
3.ACTIVE 該單元是否處于活動狀態(tài)
4.SUB 該單元是否處于運行狀態(tài)(注:是較于 ACTIVE 更加詳細的狀態(tài)描述,不同的單元類型有不同的狀態(tài)。)
5.DESCRIPTION 關(guān)于該單元的簡短描述
以下選項可根據(jù)類型列出單元:# systemctl list-units --type service
以下選項可幫助您根據(jù)狀態(tài)列出單位,輸出與前例類似但更直截了當:# systemctl list-unit-files --type service
運行以下命令以查看指定服務(wù)的狀態(tài):
# systemctl | grep apache2
apache2.service loaded active running The Apache HTTP Server
或者,使用 systemctl status apache2 命令也可查看指定服務(wù)的狀態(tài):
執(zhí)行 systemctl | grep running 命令,只查看正在運行的服務(wù):
使用 systemctl list-unit-files | grep enabled 命令查看系統(tǒng)啟動時會被啟用的服務(wù)列表:
systemd-cgtop 命令按資源使用情況(任務(wù)、CPU、內(nèi)存、輸入和輸出)列出控制組:
同時,我們可以使用 pstree 命令(輸出來自 SysVinit 系統(tǒng))查看正在運行的服務(wù):
我們還可以使用 pstree 命令(輸出來自 systemd 系統(tǒng))查看正在運行的服務(wù):
方法四、使用 chkservice 在 systemd 系統(tǒng)中查看正在運行的服務(wù)
chkservice 是一個管理系統(tǒng)單元的終端工具,需要超級用戶權(quán)限。
# chkservice
要查看幫助頁面,請按下?,它將顯示管理 systemd 服務(wù)的可用選項。
總結(jié)
以上就是在Linux系統(tǒng)中查看所有正在運行服務(wù)的方法小結(jié)的詳細內(nèi)容,更多關(guān)于Linux查看正在運行服務(wù)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Discuz 7.0偽靜態(tài)ReWrite的.htaccess規(guī)則
在確定您的服務(wù)器支持偽靜態(tài)ReWrite后,您可以通過修改設(shè)置.htaccess文件來實現(xiàn)Discuz論壇的偽靜態(tài)功能2010-12-12Linux系統(tǒng)下使用rpm方式安裝最新mysql5.7.17完整步驟
這篇文章主要介紹了Linux系統(tǒng)下使用rpm方式安裝最新mysql5.7.17完整步驟,需要的朋友可以參考下2017-01-01PHP腳本內(nèi)存泄露導(dǎo)致Apache頻繁宕機解決方法
這篇文章主要介紹了PHP腳本內(nèi)存泄露導(dǎo)致Apache頻繁宕機解決方法,本文的原因是因為MaxRequestsPerChild參數(shù)沒有配置正確,配置MaxRequestsPerChild后解決了本文中的問題,需要的朋友可以參考下2014-09-09Linux曝出Sudo提權(quán)漏洞 任意用戶亦可運行root命令
近期曝出的一個提權(quán)漏洞,卻直指 sudo 的一個安全策略隱患 —— 即便配置中明確不允許 root 用戶訪問,該漏洞仍可允許惡意用戶或程序,在目標 Linux 系統(tǒng)上以 root 用戶身份執(zhí)行任意命令2019-10-10