Linux ps 檢視系統程序 (Process)

當你想知道電腦現在正在跑什麼程式?有沒有那個程式當機佔用 CPU? 這時就需要 ps 指令。

基本用法

最常用的組合參數是 aux

ps aux

這不是亂碼,而是三個參數的組合:

  • a:顯示所有使用者的程序 (All users)。
  • u:以使用者導向的格式顯示 (User oriented),會顯示 Owner、CPU%、MEM% 等資訊。
  • x:顯示沒有控制終端機 (Terminal) 的程序(通常是背景服務 Daemon)。

欄位說明

執行 ps aux 後,你會看到類似這樣的列表:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1 169528 12896 ?        Ss   Dec12   0:05 /sbin/init
www-data  1234  0.5  2.3 562148 45892 ?        S    10:00   0:12 nginx: worker process
  • USER:執行該程序的使用者。
  • PID:Process ID,程序的唯一編號。要殺掉程式時就是看這個號碼
  • %CPU:佔用的 CPU 比例。
  • %MEM:佔用的記憶體比例。
  • COMMAND:執行的指令與參數。

實用技巧

ps aux 的輸出通常很長,我們通常會搭配 grep 來找特定的程式。

# 查詢 nginx 是否在執行,以及它的 PID
ps aux | grep nginx