要查看linux中的運(yùn)行進(jìn)程,可使用ps、top或htop工具。一、ps用于靜態(tài)快照,常用命令為ps aux、ps -ef和ps -p pid,適合腳本調(diào)用及快速排查;二、top提供動態(tài)監(jiān)控,支持排序與交互操作,適合服務(wù)器調(diào)試;三、htop界面友好功能強(qiáng),支持樹形結(jié)構(gòu)與鼠標(biāo)操作,適合日常管理。根據(jù)是否需要動態(tài)、交互或彩色顯示選擇工具。
在linux系統(tǒng)中,查看運(yùn)行進(jìn)程是最基礎(chǔ)也最常用的操作之一。不管是排查問題、優(yōu)化性能還是日常運(yùn)維,掌握幾個關(guān)鍵命令非常有必要。常用的工具包括 ps、top 和更現(xiàn)代的 htop。它們各有特點,適用于不同場景。
一、ps:靜態(tài)查看進(jìn)程狀態(tài)
ps 是最基礎(chǔ)的查看進(jìn)程信息的命令,它顯示的是執(zhí)行時的一個快照,不會動態(tài)更新。
常用組合:
- ps aux:查看所有用戶的進(jìn)程詳細(xì)信息。
- ps -ef:查看完整格式的進(jìn)程列表,適合查找父進(jìn)程(PPID)等信息。
- ps -p PID:查看特定進(jìn)程的信息。
字段說明(以 ps aux 為例):
- USER:運(yùn)行該進(jìn)程的用戶
- %CPU / %MEM:占用CPU和內(nèi)存百分比
- VSZ / RSS:虛擬內(nèi)存和物理內(nèi)存使用量
- TTY:終端類型
- STAT:進(jìn)程狀態(tài)(如 S 表示睡眠,R 表示運(yùn)行)
- START:進(jìn)程啟動時間
- TIME:累計CPU時間
- COMMAND:啟動命令
適用場景:
- 快速抓取當(dāng)前進(jìn)程快照
- 結(jié)合管道符做篩選,例如:
ps aux | grep nginx
二、top:動態(tài)監(jiān)控系統(tǒng)資源和進(jìn)程
top 提供了一個實時更新的界面,可以動態(tài)查看系統(tǒng)的整體負(fù)載以及各個進(jìn)程對資源的使用情況。
基本操作:
- 啟動后直接運(yùn)行,按 q 退出
- 按 P 按CPU排序,按 M 按內(nèi)存排序
- 按 k 可以輸入PID殺掉進(jìn)程(謹(jǐn)慎使用)
優(yōu)點:
- 實時性好,適合觀察系統(tǒng)變化
- 顯示了總體CPU、內(nèi)存使用情況
- 支持交互式操作
缺點:
- 界面略顯簡陋,顏色單一
- 不支持鼠標(biāo)或滾動條,操作稍有不便
三、htop:功能更強(qiáng)、界面更友好的替代品
htop 是 top 的增強(qiáng)版,提供了彩色界面、橫向滾動、樹狀結(jié)構(gòu)顯示等功能,用戶體驗更好。
安裝方式(根據(jù)系統(tǒng)不同可能略有差異):
# Debian/Ubuntu sudo apt install htop # centos/RHEL sudo yum install htop # Fedora sudo dnf install htop
主要優(yōu)勢:
- 支持鼠標(biāo)點擊操作
- 顯示完整的命令行參數(shù)
- 可以水平滾動查看長命令
- 支持垂直和水平滾動
- 進(jìn)程可以按樹形結(jié)構(gòu)展開,方便查看父子關(guān)系
常用操作:
- 方向鍵上下選擇進(jìn)程
- F6 可以選擇排序方式
- F9 調(diào)出kill信號菜單,安全地結(jié)束進(jìn)程
- F10 退出
適用場景:
- 需要長時間監(jiān)控系統(tǒng)狀態(tài)
- 希望快速理解進(jìn)程間的關(guān)系
- 對可視化要求更高時
四、如何選擇?根據(jù)需求決定用哪個工具
工具 | 是否動態(tài) | 是否交互 | 是否彩色 | 推薦場景 |
---|---|---|---|---|
ps | 否 | 否 | 否 | 快照查看、腳本調(diào)用 |
top | 是 | 是 | 否 | 簡單監(jiān)控、服務(wù)器環(huán)境調(diào)試 |
htop | 是 | 是 | 是 | 日常管理、新手友好、深度分析 |
如果你只是想看一下有哪些進(jìn)程在跑,ps 就夠用了;
如果需要實時觀察資源變化,top 很實用;
而如果你希望有一個清晰、易操作的界面,htop 更合適。
基本上就這些。不同的場景用不同的工具,熟練之后你會發(fā)現(xiàn)這些命令其實不復(fù)雜,但很容易忽略其中一些細(xì)節(jié)。