在linux系統中,查看正在運行的進程可使用ps和top命令。一、ps命令用于靜態查看進程快照,常用組合包括ps aux顯示所有用戶進程、ps -ef查看完整信息、ps -u username查看特定用戶進程,并可通過ps aux | grep keyword查找特定進程;輸出字段如user、pid、%cpu、cmd等提供關鍵信息。二、top命令提供動態實時監控,支持按cpu或內存排序、終止進程、調整刷新間隔等功能,適合觀察系統資源變化。三、ps適用于腳本處理和一次性查看,top適合實時監控,兩者結合可高效完成進程管理任務。
在linux系統中,查看正在運行的進程是系統管理和調試的基礎技能之一。常用的命令有兩個:ps 和 top。它們各有特點,適用于不同的場景。
一、ps 命令:靜態查看進程快照
ps(process status)命令用于查看某一時刻的進程狀態,適合腳本處理或一次性查看。
常用組合如下:
- ps aux:顯示所有用戶的進程詳細信息
- ps -ef:查看完整的進程信息,包括父進程ID等
- ps -u username:查看特定用戶運行的進程
輸出字段解釋(以 ps aux 為例):
- USER:運行該進程的用戶
- PID:進程ID
- %CPU / %MEM:占用的CPU和內存百分比
- START:進程啟動時間
- CMD:啟動該進程的命令
例如,你想查看所有包含“nginx”的進程,可以這樣寫:
ps aux | grep nginx
這種方式在排查某個服務是否正常運行時非常有用。
二、top 命令:動態實時監控進程
如果你需要實時觀察系統中進程的變化情況,top 是更好的選擇。它提供了一個交互式界面,能動態展示資源占用最高的進程。
啟動方式很簡單:
top
進入后你可以使用一些快捷鍵來操作:
- P:按CPU使用率排序
- M:按內存使用排序
- k:輸入PID后終止某個進程
- q:退出top界面
默認情況下,top每3秒刷新一次。你也可以通過 -d 參數指定刷新間隔,比如:
top -d 1
表示每1秒刷新一次。
三、ps 和 top 的適用場景對比
場景 | 推薦命令 | 理由 |
---|---|---|
查看某次快照或用于腳本處理 | ps | 輸出穩定,適合自動化處理 |
實時監控資源占用 | top | 動態更新,便于觀察變化 |
找出占用資源高的進程 | ps aux –sort=-%cpu 或 top | 都可以達到目的,根據習慣選 |
快速殺掉一個進程 | 先用 ps 找PID,再 kill PID;或者直接在 top 中按 k 輸入PID | 兩種方式都很實用 |
基本上就這些了。ps 和 top 雖然基礎,但掌握好之后對日常運維和排錯幫助很大。像 htop 這類增強型工具雖然更直觀,但在大多數服務器上還是原生的這兩個命令最可靠。