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