在Linux系統中,進程是資源分配的基本單位,無論是服務器運維、程序調試還是日常使用,掌握進程管理工具都是必備技能。今天就帶大家梳理6個最常用的進程管理工具,從查看進程到控制進程,一篇文章全搞定!
一、ps:靜態查看進程的"快照神器"
功能定位:ps(Process Status)是最基礎的進程查看工具,能生成當前進程的"靜態快照",適合快速了解系統進程概況。
核心用法:
?ps aux:查看所有用戶的進程(最常用)

psaux | grep nginx
?a:顯示所有用戶的進程
?u:顯示進程所屬用戶、CPU /內存占用等詳細信息
?x:顯示無終端(后臺運行)的進程
示例:查看nginx進程狀態
?ps -ef:以"父進程→子進程"的層級關系顯示進程
示例:查看進程PID(第二列)和父進程PPID(第三列)
|
ps -ef | grep java
|
適用場景:快速定位某個進程是否在運行、查看進程的資源占用和所屬用戶。
二、top:實時監控進程的"儀表盤"
功能定位:top是動態進程監控工具,能實時刷新進程狀態(默認3秒/次),適合跟蹤進程資源占用變化。

核心操作:
1.啟動top:直接輸入top命令,界面分為兩部分:
?頂部:系統整體信息(CPU使用率、內存占用、進程總數)
?底部:進程列表(默認按CPU使用率排序)
1.常用交互快捷鍵:
?P:按CPU使用率降序排序(找"吃CPU"的進程)
?M:按內存使用率降序排序(找"吃內存"的進程)
?k:輸入進程PID,發送信號終止進程(無需單獨用kill)
?q:退出top
適用場景:服務器卡頓、程序無響應時,快速定位高資源占用進程。
三、htop:top的"增強版顏值擔當"
功能定位:htop是top的升級版,界面更友好、操作更直觀,還支持鼠標交互,新手優先推薦!

優勢特性:
?彩色顯示:不同類型進程用不同顏色區分(如系統進程、用戶進程)
?支持鼠標:直接點擊表頭排序(CPU、內存列)、點擊進程選擇操作
?功能更全:自帶進程樹視圖、快速殺死進程按鈕
安裝與使用:
?安裝(以CentOS為例):yum install -y htop
?啟動:直接輸入htop,操作和top類似,上手無門檻。
適用場景:習慣可視化操作的用戶,或需要更清晰進程分類的場景。
四、pstree:查看進程樹的"家族圖譜"
功能定位:pstree(Process Tree)以樹形結構顯示進程間的父子關系,能清晰看到進程的"家族脈絡"。

核心用法:
?pstree:顯示簡單進程樹
?pstree -p:顯示進程樹并附帶PID(括號內數字)
示例:查看nginx的進程樹(了解主進程與工作進程關系)
|
pstree -p | grep nginx
|
?pstree -u:顯示進程樹并標注所屬用戶
適用場景:分析進程間的依賴關系(如查看某個進程的子進程是否正常啟動)。
五、kill:控制進程的"信號使者"
功能定位:kill通過發送信號(Signal)來控制進程,比如停止、重啟進程,核心不是"殺死",而是"傳遞指令"。
常用信號與命令:
|
信號值
|
信號名
|
作用
|
|
1
|
SIGHUP
|
重啟進程(如nginx配置生效)
|
|
9
|
SIGKILL
|
強制殺死進程(無法抗拒)
|
|
15
|
SIGTERM
|
優雅停止進程(默認,允許收尾)
|
示例:
?優雅停止PID為1234的java進程:kill 1234(默認發送15信號)
?強制殺死卡死的進程:kill -9 1234
?重啟nginx:kill -1 $(cat /var/run/nginx.pid)(通過PID文件獲取PID)
六、pgrep:快速定位進程PID的"搜索利器"
功能定位:pgrep(Process Grep)能根據進程名、用戶等條件快速篩選PID,避免手動在ps結果中grep。
核心用法:
?pgrep nginx:直接返回所有nginx進程的PID
?pgrep -u root java:查找root用戶運行的java進程PID
?pgrep -l nginx:返回PID +進程名(更直觀)
示例:結合kill快速殺死進程
|
kill -9 $(pgrep nginx)#批量強制殺死所有nginx進程
|
實用組合技巧:1+1>2
1.實時跟蹤特定進程:用top過濾進程
|
top -p $(pgrep nginx | tr 'n' ',')#只監控nginx進程
|
1.查看進程完整命令行:ps結合PID
|
ps -p 1234 -f#查看PID=1234進程的完整啟動命令
|
1.批量停止同類型進程:pgrep+kill
|
kill -15 $(pgrep python)#優雅停止所有python進程
|
工具選擇總結
|
需求場景
|
推薦工具
|
|
快速看進程快照
|
ps
|
|
實時監控資源
|
top/htop
|
|
查進程父子關系
|
pstree
|
|
找進程PID
|
pgrep
|
|
控制進程(停/啟)
|
kill
|
如果是新手,建議從htop+pgrep+kill組合開始,上手快、效率高;熟悉后再用ps和pstree滿足復雜場景需求。
你平時用得最多的Linux進程管理工具是哪個?有沒有私藏的小技巧?歡迎在評論區分享~
-
Linux
+關注
關注
88文章
11759瀏覽量
219013 -
進程
+關注
關注
0文章
211瀏覽量
14533 -
程序調試
+關注
關注
6文章
15瀏覽量
9970
發布評論請先 登錄
Linux系統下進程的幾種狀態介紹
Linux使用Systemd管理進程服務
Linux使用Systemd管理進程服務
Linux進程間通信(IPC)全解析:從管道到?Socket,一篇講透
解析Linux的進程、線程和協程
有效管理進程的8個Linux命令分享
學會Linux進程管理的方法
Linux進程管理不用愁!這6個工具幫你搞定90%場景
評論