0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何查看Linux systemd下正在運(yùn)行的服務(wù)

CHANBAEK ? 來(lái)源:魏文第 ? 作者:魏文第 ? 2023-12-04 14:47 ? 次閱讀

Linux 系統(tǒng)提供了各種系統(tǒng)服務(wù)(如 syslog、cron 等)和網(wǎng)絡(luò)服務(wù)(如 DNS、SSH 等)。

從技術(shù)上講,服務(wù)是一個(gè)或一組在后臺(tái)持續(xù)運(yùn)行的進(jìn)程(通常稱為守護(hù)進(jìn)程),等待接收請(qǐng)求(尤其是來(lái)自客戶端的請(qǐng)求)。

Linux 支持不同的服務(wù)管理方式(啟動(dòng)、停止、重啟、設(shè)置開機(jī)啟動(dòng)等),通常是通過(guò)進(jìn)程或服務(wù)管理器。大多數(shù) Linux 發(fā)行版使用 systemd 進(jìn)程管理器。

什么是 systemd

Systemd 是 Linux 的系統(tǒng)和服務(wù)管理器,init 進(jìn)程的直接替代品,它與 SysV 和 LSB init 腳本兼容,systemctl 命令是管理 systemd 的主要工具。

Systemd 的更多信息,可以查看Rocky Linux Systemd 介紹一文。

為什么要查看 Linux 中正在運(yùn)行的服務(wù)

出于多種原因,了解 Linux 系統(tǒng)上運(yùn)行的服務(wù)至關(guān)重要。它使你能夠監(jiān)控資源利用率、解決問題并有效地管理系統(tǒng)性能。Systemd 通過(guò)提供強(qiáng)大的命令來(lái)收集有關(guān) active services 的信息,從而簡(jiǎn)化了這項(xiàng)任務(wù)。

在本指南中,我將演示在 Linux 系統(tǒng)中列出 Systemd 下所有正在運(yùn)行的服務(wù)的進(jìn)程,為不同經(jīng)驗(yàn)水平的讀者提供全面的指導(dǎo)。

列出 systemd 下正在運(yùn)行的服務(wù)

執(zhí)行不帶任何參數(shù)systemctl 命令,將顯示所有已加載的 systemd 單元列表,包括 services,并顯示它們的狀態(tài)(無(wú)論是否處于 active 狀態(tài))。

systemctl

圖片
列出所有已加載的 systemd unit list

列出 systemctl 中的所有 Units

要列出系統(tǒng)中所有加載的 services(無(wú)論是 active、running、exited 還是 failed),請(qǐng)使用 list-units 子命令和 --type 選項(xiàng),其值為 service。

systemctl list-units --type=service
# OR
systemctl --type=service

圖片
查看 systemctl 中的所有服務(wù)

要列出所有已加載且處于 active 狀態(tài)的 services,可以添加 --state 選項(xiàng),其值為 active,如下所示。

systemctl list-units --type=service --state=active
# OR
systemctl --type=service --state=active

圖片
查看狀態(tài)為 active 的 services

列出 systemctl 中正在運(yùn)行的服務(wù)

但要快速查看所有正在運(yùn)行的服務(wù)(即所有已加載且主動(dòng)運(yùn)行的服務(wù)),請(qǐng)運(yùn)行以下命令。

systemctl list-units --type=service --state=running 
# OR
systemctl --type=service --state=running

圖片
查看 Running 狀態(tài)的 Services

以下是與 Systemd 單元及其狀態(tài)相關(guān)的主要術(shù)語(yǔ):

  • Unit:?jiǎn)卧梢允?service、socket、device 或各種其他實(shí)體。
  • Load:表示單元是否已加載。一個(gè)單元可以被加載,但狀態(tài)不一定是 active 的。
  • Active:顯示單元是否正在主動(dòng)運(yùn)行,或者它是否遇到問題,處于失敗或不活動(dòng)狀態(tài)。
  • SUB:提供了關(guān)于單元的特定狀態(tài)的附加細(xì)節(jié)。對(duì)于 service,它可能指示服務(wù)是否正在運(yùn)行(running)、已停止(exited)或遇到問題(failed)。
  • Description:描述文檔,幫助用戶識(shí)別和理解單元的用途,而無(wú)需深入研究詳細(xì)的配置文件。

為 systemctl 命令創(chuàng)建別名

如果經(jīng)常使用前面的命令,可以在 ~/.bashrc 文件中創(chuàng)建一個(gè)別名命令,如下所示,以便輕松調(diào)用它。

# vim ~/.bashrc

然后在別名列表下添加以下行:

alias running_services='systemctl list-units  --type=service  --state=running'

保存并關(guān)閉文件,執(zhí)行 source 命令,加載該命令:

# source ~/.bashrc

接下來(lái)就可以使用 running_services 命令查看服務(wù)器上所有已加載的、正在運(yùn)行的服務(wù)的列表。

圖片
使用別名查看服務(wù)列表

查找進(jìn)程監(jiān)聽的端口

此外,查看服務(wù)的端口也很重要。要確定守護(hù)進(jìn)程正在監(jiān)聽的端口,可以使用 netstatss 命令,如下所示。

netstat -ltunp
# OR
ss -ltunp

其中,-l 表示打印所有監(jiān)聽套接字,-t 表示顯示所有 TCP 連接,-u 表示顯示所有 UDP 連接,-n 表示打印數(shù)字端口號(hào)(而不是應(yīng)用程序名稱),-p 表示顯示應(yīng)用程序名稱。

例如查看 ssh 進(jìn)程的端口號(hào)信息:

# ss -ltunp | grep ssh

圖片
查看 ssh 服務(wù)端口號(hào)

第五列顯示套接字:local_address:port。在這種情況下,ssh 進(jìn)程正在偵聽 TCP 22 端口。

總結(jié)

在本指南中,我演示了如何在 Linux 中查看 systemd 下正在運(yùn)行的服務(wù)。還介紹了如何查看服務(wù)正在監(jiān)聽的端口。這些都是運(yùn)維工作中的常見操作。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209519
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    593

    瀏覽量

    27397
  • 進(jìn)程
    +關(guān)注

    關(guān)注

    0

    文章

    203

    瀏覽量

    13961
  • 服務(wù)管理器
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    462
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux中如何查看系統(tǒng)運(yùn)行信息

    Linux系統(tǒng)中,查看系統(tǒng)運(yùn)行狀態(tài)(或者故障排除),比如內(nèi)存或者CPU使用率的時(shí)候,可以使用top命令,它提供了系統(tǒng)運(yùn)行情況的信息。根據(jù)man手冊(cè),top程序提供了
    發(fā)表于 11-25 16:37 ?4032次閱讀
    <b class='flag-5'>Linux</b>中如何<b class='flag-5'>查看</b>系統(tǒng)<b class='flag-5'>運(yùn)行</b>信息

    Linux使用Systemd管理進(jìn)程服務(wù)

    systemd是目前Linux系統(tǒng)上主要的系統(tǒng)守護(hù)進(jìn)程管理工具,由于init一方面對(duì)于進(jìn)程的管理是串行化的,容易出現(xiàn)阻塞情況,另一方面init也僅僅是執(zhí)行啟動(dòng)腳本,并不能對(duì)服務(wù)本身進(jìn)行更多的管理
    發(fā)表于 11-28 09:07 ?556次閱讀

    Linux使用Systemd管理進(jìn)程服務(wù)

    今天浩道跟大家分享linux運(yùn)維中大家很少用到的一個(gè)硬核干貨,使用 Systemd 管理進(jìn)程服務(wù)。讓你體驗(yàn)一該技巧帶來(lái)的便捷性!
    發(fā)表于 12-12 09:02 ?477次閱讀

    Proteus 正在運(yùn)行突然關(guān)閉

    proteus 正在運(yùn)行,過(guò)幾秒鐘之后就死了,不知道什么情況?有沒有遇到過(guò)相似問題的?如何解決?
    發(fā)表于 11-27 16:23

    如何在 Linux 上從 NetworkManager 切換為 systemd

    Linux 發(fā)行版和 systemd-networkd 兼容?! ?duì)于其它發(fā)行版,在開始下一步之前先檢查一你的 systemd 版本?! ? systemctl --versio
    發(fā)表于 11-25 10:08

    怎么正常檢測(cè)固件是否正在運(yùn)行

    您好,我正在使用2端口E8362C,運(yùn)行固件版本,A.09.42.22。使用DCOM。有沒有辦法優(yōu)雅地檢測(cè)固件是否正在運(yùn)行?假設(shè)我的程序中有一個(gè)PNA應(yīng)用程序?qū)嵗绻鸓NA固件被用戶關(guān)閉或者它崩潰
    發(fā)表于 10-18 17:03

    i.M8XMQ開發(fā)板如何通過(guò)Systemd服務(wù)實(shí)現(xiàn)應(yīng)用自啟

    。什么是Systemd服務(wù)SystemdLinux的一種init軟件,由Lennart Poettering帶頭開發(fā),并在LGPL 2.
    發(fā)表于 04-25 15:22

    Linux服務(wù)的內(nèi)容如何查看

     ps是進(jìn)程查看命令,netstat是端口查看命令,在Linux系統(tǒng)中,服務(wù)一定是有進(jìn)程的,所以使用ps命令可以查看
    發(fā)表于 05-20 09:09 ?754次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>服務(wù)</b>的內(nèi)容如何<b class='flag-5'>查看</b>

    Linux查看服務(wù)器狀態(tài)的命令大全

    Linux查看服務(wù)器狀態(tài)的命令大全
    發(fā)表于 07-09 09:34 ?21次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>查看</b><b class='flag-5'>服務(wù)</b>器狀態(tài)的命令大全

    如何在Linux使用ps/pstree/top命令查看進(jìn)程

    Linux 程序的運(yùn)行實(shí)例稱為進(jìn)程。有時(shí)在Linux工作時(shí),您可能需要找出當(dāng)前正在運(yùn)行的進(jìn)程。
    的頭像 發(fā)表于 12-05 17:07 ?1848次閱讀

    如何檢查CentOS系統(tǒng)正在運(yùn)行的版本

    首次登錄CentOS計(jì)算機(jī)時(shí)或者在進(jìn)行任何工作之前,您可能需要檢查系統(tǒng)正在運(yùn)行的CentOS版本。
    的頭像 發(fā)表于 12-12 17:16 ?1409次閱讀

    如何查看正在運(yùn)行Linux系統(tǒng)版本

    對(duì)于 Linux 系統(tǒng),如果是你自己安裝的,你就會(huì)知道安裝的是哪個(gè)發(fā)行版,以及版本號(hào)。但如果是使用 ssh 連接的遠(yuǎn)程 Linux 服務(wù)器,那么其版本就沒那么明顯了,需要使用某種方法來(lái)查看
    的頭像 發(fā)表于 02-16 18:15 ?1287次閱讀

    Linux項(xiàng)目開發(fā),你必須了解Systemd服務(wù)!

    1.Systemd簡(jiǎn)介Systemd是什么,以前linux系統(tǒng)啟動(dòng)init機(jī)制,由于init一方面對(duì)于進(jìn)程的管理是串行化的,容易出現(xiàn)阻塞情況,另一方面init也僅僅是執(zhí)行啟動(dòng)腳本,并不能對(duì)服務(wù)
    的頭像 發(fā)表于 06-18 17:59 ?837次閱讀
    <b class='flag-5'>Linux</b>項(xiàng)目開發(fā),你必須了解<b class='flag-5'>Systemd</b><b class='flag-5'>服務(wù)</b>!

    Systemd是什么?Systemd Service配置文件詳解

    Systemd是什么,以前linux系統(tǒng)啟動(dòng)init機(jī)制,由于init一方面對(duì)于進(jìn)程的管理是串行化的,容易出現(xiàn)阻塞情況,另一方面init也僅僅是執(zhí)行啟動(dòng)腳本,并不能對(duì)服務(wù)本身進(jìn)行更多的管理
    的頭像 發(fā)表于 07-22 18:03 ?1560次閱讀

    Linux服務(wù)器性能查看方法

    Linux服務(wù)器性能查看是系統(tǒng)管理員和開發(fā)人員在日常工作中經(jīng)常需要進(jìn)行的任務(wù),以確保系統(tǒng)穩(wěn)定運(yùn)行并優(yōu)化資源使用。以下將詳細(xì)介紹多種Linux
    的頭像 發(fā)表于 09-02 11:15 ?1069次閱讀