Linux系統如何查看服務的運行狀態

2020-12-15 51cto

1. 前言

本文主要講解如何在Linux系統上查看服務的運行狀態。

Linux系統提供各種系統服務(如進程管理、登錄服務、日誌、計劃任務等)和網絡服務(如遠程登錄、電子郵件、印表機、web主機、數據存儲、文件傳輸、域名解析(使用DNS)、動態IP位址分配(使用DHCP)等等)。

從技術上講,服務是一個進程或一組進程(通常稱為守護進程),在後臺連續運行,等待請求(特別是來自客戶機的請求)。

Linux支持不同的方式來管理服務,比如啟動、停止、重啟、開機自啟動等,大多數最新的Linux發行版在使用相同的進程管理器-systemd。

systemd是Linux系統和服務管理器init進程的一個替代品,它與SysV和LSB init腳本兼容,systemctl命令是管理systemd的主要工具。

systemd的組件:

在本教程中,我們將演示如何查看Linux系統中systemd可管理的所有服務。

2. 如何查看Linux系統中systemd可管理的所有服務

當您不帶任何參數運行systemctl命令時,它將列印所有已加載的systemd單元的列表(請閱讀systemd文檔以獲得有關systemd單元的更多信息)。顯示各服務單元的狀態(無論是活動的還是非活動的)。

  1. systemctl 

列出系統上所有已加載的服務,查看它們活動狀態,是否正在運行、是否關閉、是否啟動失敗。

  1. systemctl list-units --type=service 

或者

  1. systemctl --type=service 

要列出所有已加載但已經設置開機自啟動的服務

  1. systemctl list-units --type=service --state=active 

  1. systemctl --type=service --state=active 

查看所有正在運行的服務:

  1. systemctl list-units --type=service --state=running 

  1. systemctl --type=service --state=running 

如果經常使用前面的命令,可以在創建別名命令,編輯bashrc文件

  1. vim ~/.bashrc 

添加以下內容,創建別名命令running_services。

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

保存文件並退出。使用running_services命令查看伺服器上所有已加載、正在運行的服務的列表。

  1. ss -ltup | grep sshd 

  1. running_services 

此外,服務的一個重要方面是它們使用的埠。要確定守護進程監聽的埠,可以使用netstat或ss工具,如下所示。

其中-l選項表示列印所有監聽的套接字,-t顯示所有TCP連接,-u顯示所有UDP連接,-n表示列印數字埠號(而不是應用程式名稱),-p表示顯示應用程式名稱。

  1. netstat -ltup | grep sshd 

或者

  1. ss -ltup | grep sshd 

第五列顯示套接字:本地地址:埠。在本例中,進程sshd正在埠22上監聽。

此外,如果您的伺服器防火牆服務運行的狀態,使用以下命令查看已經允許或者阻塞的埠或者服務

  1. firewall-cmd --list-services 
  2. firewall-cmd --list-ports 

Ubuntu 用戶

  1. sudo ufw status 

3. 總結

在本教程中,我們演示了如何在Linux中查看systemd下運行的服務及這些服務的運行狀態。我們還介紹了如何檢查服務正在監聽的埠,以及如何查看在防火牆服務已經允許或者阻塞的服務和埠號。

點讚 0

相關焦點

  • linux下進程和線程狀態查看
    每進程可用線程數 = VIRT上限/stack size   32位x86系統默認的VIRT上限是3G(內存分配的3G+1G方式),64位x86系統默認的VIRT上限是64G用 ulimit -s 可以查看默認的線程棧大小,一般情況下,這個值是 8M[8192]查看最大線程數:cat /proc/sys/kernel/threads-max
  • 如何在虛擬機(vmware11)上運行linux系統
    有些人想體驗linux系統,又不想在自己的電腦上裝linux。那麼,在這裡小編將教大家如何在虛擬機上運行linux系統。下載正版VMware11可以同時下載linux系統鏡像VMware11下載完成以後,開始安裝。
  • 如何在Linux系統安裝Apollo
    將jdk-8u211-linux-x64.tar.gz文件拷貝到相關目錄,執行解壓命令:tar –zxf jdk-8u211-linux-x64.tar.gz(2)配置環境變量:vim /etc/profile編輯如下內容:
  • Linux系統查看埠的操作辦法
    有部分Linux系統的用戶,不知道如何查看上的埠,今天小編就來介紹一下,如何使用netstat , ss 和 lsof 命令找出哪些服務上使用哪些埠的辦法。不能在同一個 IP 地址上有兩個不同的服務偵聽同一埠。例如,如果運行的正在監聽 80 和 443 埠,嘗試安裝 Nginx 以後將無法啟動,因為 HTTP 和 HTTPS 埠已在使用。
  • CentOS「linux」學習筆記16:service服務管理
    linux基礎操作:主要介紹了服務管理,查詢,啟用,停止和開機自啟設置1.service [服務管理,啟用,停用,查詢狀態,僅臨時生效,重啟後恢復原來狀態]例子1:service sshd stop 表示停止sshd服務。
  • 為何Cortex-M處理器運行不了linux
    三、linux系統一般將作業系統分為實時作業系統和非實時作業系統。實時作業系統大多為單進程、多線程(多任務),因此不涉及到線程間的地址空間分配,不需要使用MMU,例如VxWorks。Linux系統屬於非實時性操作體統,多進程是其主要特點。
  • CentOS8.1 Linux網絡配置nmcli-Linux系統運維實戰系列五
    Linux系統運維實戰系列五CentOS 8/RHEL 8 Linux系統運維實戰系列原創持續更新中......請關注,不迷路!NetworkManager服務,所有如果想要使用nmcli工具管理必須保證NetworkManager服務是運行狀態,CentOS8開始沒有network服務了,網絡管理全部使用NetworkManager服務管理了,無論使用哪種管理方式,最終的目標還是為了修改/etc/sysconfig/network-scripts/ifcfg-網卡設備名的文件。
  • Linux怎樣查詢出當前系統的所有進程
    本經驗已linux發行版Ubuntu為例,Linux下使用PS命令結合相關參數可以查看linux當前系統下的所有進程、所有運行中的進程、所有非root運行的進程、所有指定用戶運行的進程。使用搜索功能搜索「Terminal」,打開Ubuntu命令行終端。
  • Linux系統從入門到放棄?
    Linux是一個命令行組成的作業系統,精髓在命令行,學習如何在Linux環境中執行linux命令,包括有關文件、目錄、文件系統、進程等概念,如何使用相應的命令對文件、目錄、進程等進行管理,了解遇到問題時,如何找到幫助信息等等。都將是我們學習入門Linux的第二大步。
  • Linux 系統內核的調試
    調試是軟體開發過程中一個必不可少的環節,在 Linux 內核開發的過程中也不可避免地會面對如何調試內核的問題。但是,Linux 系統的開發者出於保證內核代碼正確性的考慮,不願意在 Linux 內核原始碼樹中加入一個調試器。他們認為內核中的調試器會誤導開發者,從而引入不良的修正[1]。
  • 最小的Linux系統製作過程詳解
    linux系統的內核原代碼和編譯工具,利用busybox內建的強大功能,在一張軟盤上做的一個很小的linux系統.他具備一個linux系統的基本特徵,支持linux系統最常用的一百多個命令,支持多種文件系統,支持網絡等等,你可以把他當做一張linux起動盤和修復盤來用,你也可以把他當做一個靜態路由的路由器軟體,當然,你也可以把他當做一個linux玩具,向你的朋友炫耀 linux可以做的多麼小.我把他叫做
  • 在Deepin Linux v20系統中安裝並運行windows軟體
    我們知道,Linux系統是不能運行windows軟體的,我們想在linux系統下運行windows程序,就需要通過第三方軟體實現,我們這裡通過wine軟體平臺實現,具體的安裝方法,在前面的文章已經詳細說明,請大家參閱。
  • Linux系統安全設置 全面堅固你的系統
    也許在初次安裝完成後的不長時間裡,這個Linux 系統就會以令人感激涕零的高速DSL 接入Internet.還是容易被攻擊今天幾近所有可用的linux 發布在安全方面存在漏洞,其中的多數漏洞是很容易被攻入的,但不幸的是依慣例和習慣做法,他們是開放的。典型安裝的Linux首次啟動時就提供了多種多樣的可被攻擊的服務,譬如SHELL ,IMAP和POP3.
  • 【Linux】Linux系統中的權限詳解
    所以對於了解linux系統中的各種權限及要給用戶,服務等分配合理的權限十分重要。一.文件基本權限   首先看下linux下的文件權限,可以使用ll命令或者是帶-l(長列表選項)的ls命令。  用戶每次登錄系統時,umask命令都被執行, 並自動設置掩碼mode來限制新文件的權限。用戶可以通過再次執行umask命令來改變默認值,新的權限將會把舊的覆蓋掉。我們可以執行umask命令來查看系統中文件默認權限。
  • Linux系統中如何查看顯卡的硬體信息
    Linux系統中如何查看顯卡的硬體信息 2015年12月22日 00:24作者:Winclient編輯:王普   圖形處理器(GPU)又稱視覺處理單元(VPU),又稱顯示核心、視覺處理器、顯示晶片,是一種專門在個人電腦、工作站、遊戲機和一些行動裝置(如平板電腦、智慧型手機等)上運行繪圖運算工作的微處理器。
  • Linux系統監控工具atop
    如上圖所示, atop 的界面分為上半部分的系統監控項和下半部分的進程列表。atop 每10s更新一次系統監控項以及在這段時間內狀態發生變化的進程,按下A鍵可以查看全部進程。>linux 中進程有兩種 sleep 狀態:interruptible sleep: 進程接收系統信號,可以被系統信號中斷uninterruptible sleep: 進程不接收系統信號,不可被系統信號中斷,包括kill -9 (SIGKILL 信號)。
  • 另闢蹊徑,老機安裝Linux系統
    淘汰電腦的配置普遍較低,Windows系統硬體資源消耗高是人所共知的事情。因此要讓老機運行起來更流暢,為其安裝低資源佔用的Linux系統也是一個不錯的選擇。現在基於Linx核心的系統有很多,而使用AOSP協議的桌面安卓系統是其中的佼佼者,它不僅和我們使用安卓平板、手機非常類似(可以兼容大多數安卓應用),並且硬體要求極低,因此我們可以在舊電腦上安裝這類系統使之重新煥發活力。
  • linux作業系統常用命令及常用問題
    如何暫停一個正在運行的進程,把其放在後臺(不運行)? 為了停止正在運行的進程,讓其在後臺(不運行),我們可以使用組合鍵 Ctrl+Z。(LCTT譯註:如果希望其在後臺運行,還需要使用bg命令並指定其Ctrl+Z得到的任務號,才可以在後臺運行。)●2.
  • 麒麟作業系統:在linux上運行安卓應用
    使用安卓生態,對於發展linux系統來說相當重要,畢竟安卓也是基於linux內核,兩者關係密切。麒麟軟體和技徳系統團隊合作,讓麒麟系統可以運行安卓應用。其依託安卓運行環境Kydroid 3.0,可提供完全原生、高兼容性的使用體驗。
  • 如何給正在運行的Linux應用程式注入代碼
    考慮向正在運行的程序中注入一些新的代碼,當程序中已存在的另一個函數被調用時觸發這些新代碼。也許這種想法有些異想天開,但並不是不能實現的,有時我們確實需要向正在運行的程序中注入一些代碼,當然其與病毒的代碼注入技術與存在一定關聯。在本文中,我會向讀者解釋如何向正在Linux系統上運行的程序中注入一段C函數代碼,而不必終止該程序。