萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux ps 命令深度解析:進程監控與管理實戰指南

要有效監控與控制系統進程,首先必須掌握當前進程狀態。ps 命令是最基礎也最強大的進程查看工具,能顯示正在運行的進程、運行狀態、是否僵死、資源佔用情況等關鍵資訊。絕大多數進程資訊皆可透過 ps 獲取。

需注意 ps 提供的是靜態快照,非動態連續監控;若需即時監控,請使用 top 工具。而 kill 則用於終止進程。

1. ps 核心參數說明

ps 提供豐富選項,常用組合如下:

參數說明
l長格式輸出
u按用戶名與啟動時間排序顯示
j任務格式顯示
f樹狀結構顯示進程關係
a顯示所有用戶的所有進程
x顯示無控制終端的進程
r僅顯示運行中進程
ww防止參數被截斷,完整顯示

最常用的組合為 aux 或 lax,搭配 f 參數可呈現樹狀結構。

2. ps aux / lax 輸出欄位詳細解讀

欄位含義
USER進程擁有者
PID進程識別碼
PPID父進程 ID
%CPUCPU 佔用百分比
%MEM記憶體佔用百分比
NINice 值,數值越大佔用 CPU 越少
VSZ虛擬記憶體大小 (KB)
RSS駐留記憶體頁數 (實體記憶體佔用)
TTY終端機 ID
STAT進程狀態碼(詳見下表)
WCHAN等待中的資源名稱
START進程啟動時間
TIMECPU 累計使用時間
COMMAND啟動命令與參數

STAT 狀態碼對照表

代碼含義
D不可中斷睡眠 (通常為 I/O 進程)
R運行中或就緒隊列中
S睡眠狀態
T停止或被追蹤
Z殭屍進程
<高優先級進程
N低優先級進程
L頁面鎖定在記憶體中
s進程領導者 (有子進程)
l多線程進程
+前台進程組

3. 實戰應用範例

# 分頁查看所有進程
ps -aux | more

# 輸出至檔案再分頁查看
ps -aux > ps001.txt
more ps001.txt

4. kill 終止進程常用信號

命令信號作用
kill -STOP [pid]SIGSTOP (17,19,23)暫停進程,不終結
kill -CONT [pid]SIGCONT (19,18,25)恢復已暫停進程
kill -KILL [pid]SIGKILL (9)強制立即終止,不執行清理
kill -9 -1SIGKILL終止當前用戶擁有的所有進程

關鍵提醒: SIGKILL 與 SIGSTOP 無法被捕捉、阻塞或忽略,是終極控制手段;其他信號則可被程式處理。

copyright © 萬盛學電腦網 all rights reserved