Linux之 ps

hasome發表於2024-11-21

ps

  • Linux中的ps命令是Process Status的縮寫。ps命令用來列出系統中當前執行的那些程序。
  • ps命令列出的是當前程序的快照,即當前的程序情況。若需要動態顯示程序資訊,則可使用top命令

ps命令

  • 詳細命令引數見ps --help

常見選項

  • -e:顯示所有程序。
  • -f:全格式顯示。
  • -l:長格式顯示。
  • -a:顯示終端上的所有程序,包括其他使用者的程序。
  • -u:顯示程序的詳細狀態。
  • -x:顯示沒有控制終端的程序。
  • -T:顯示當前執行緒的層次結構。
  • -o:自定義輸出格式,其中 可以是如下的格式選項之一或組合:%cpu、%mem、%tty、%time、%cmd等。例如,ps -o pid,tty,cmd 將只顯示程序ID、終端型別和執行的命令列。
  • --sort:按指定的欄位對輸出進行排序。
  • head:僅顯示輸出中的前N行,其中N是使用者指定的數字。

常見用法

`ps aux`:顯示所有程序的詳細狀態。

image

輸出列含義:

  • USER: 程序的擁有者。這通常是執行該程序的使用者帳戶的名稱。
  • PID: 程序ID。每個程序都有一個唯一的ID,用於標識該程序。
  • %CPU: 該程序佔用的CPU使用率百分比。
  • %MEM: 該程序佔用的實體記憶體使用率百分比。
  • VSZ: 虛擬記憶體大小,單位是KB。這表示程序使用的虛擬記憶體量。
  • RSS: 常駐集大小,單位是KB。這表示程序在實體記憶體中佔用的固定大小。
  • TTY: 終端型別。如果程序沒有與任何終端關聯,則顯示為"?"。
  • STAT: 程序狀態。這描述了程序的當前狀態,例如執行中、休眠等。
  • START: 程序啟動的時間。
  • TIME: 該程序實際使用CPU的時間,單位是小時:分鐘:秒。
  • COMMAND: 啟動程序的命令名稱或命令列。
 `ps -ef` 或 `ps -fe`:顯示所有程序的完整格式。

image

輸出列含義:

  • UID:使用者ID,表示執行該程序的使用者。
  • PID:程序ID,每個程序都有一個唯一的ID。
  • PPID:父程序ID,表示建立該程序的父程序的ID。
  • C:CPU使用率,表示該程序佔用的CPU百分比。
  • STIME:程序啟動的時間。
  • TTY:終端型別,如果程序與某個終端關聯,則顯示該終端的名稱;否則顯示"?"。
  • TIME:該程序實際使用CPU的時間,通常以分鐘或小時為單位。
  • CMD:啟動程序的命令名稱或命令列。

用法例項

顯示所有程序:

ps:預設情況下,ps命令將顯示當前使用者的程序。
ps -e:顯示所有程序。
ps -A:顯示所有程序,與ps -e相同。
ps -a:顯示終端上的所有程序,包括其他使用者的程序。

按程序狀態篩選:

ps aux:顯示所有程序的詳細狀態。
ps -ef | grep <pattern>:使用grep命令過濾特定模式的程序。

按CPU或記憶體使用篩選:

ps aux --sort=-%cpu:按CPU使用率降序顯示程序。
ps aux --sort=-%mem:按記憶體使用率降序顯示程序。

顯示特定使用者的程序:

ps -u <username>:顯示指定使用者的程序。

顯示命令列引數:

ps -o args=:顯示完整的命令列引數。

顯示執行緒資訊:

ps -T:顯示當前執行緒的層次結構。

原文:https://blog.csdn.net/qq_40673786/article/details/135166627

相關文章