linux命令ps的實際應用

ps(Process Status)是 ?Linux/Unix 系統中最核心的進程管理工具,用于實時抓取系統進程快照。它直接讀取 /proc 文件系統,不持續監控進程(區別于 top),但可通過參數組合實現精準進程診斷。下面從底層原理到高階實戰全面解析:


?一、核心機制與運行原理?

ps                       # 默認顯示當前終端關聯進程
  • ?數據來源?:直接解析 /proc/[pid]/ 目錄下的進程元數據
    (例如 /proc/1/status 包含 init 進程狀態)
  • ?非交互式?:靜態輸出當前時刻進程狀態(適合腳本調用)

?二、參數風格:UNIX vs BSD vs GNU?

類型特征常用示例
?UNIX?單短橫線(-efps -e -o pid,cmd
?BSD?無短橫線(auxps aux
?GNU?雙短橫線(--userps --sort=-%mem

?最佳實踐?:Linux 中優先使用混合風格(如 ps auxps -ef


?三、關鍵字段解析(輸出列)??

字段含義場景重要性
USER進程所有者排查越權進程
PID?進程ID(唯一標識)??殺進程必用
PPID父進程ID追蹤進程來源
%CPUCPU 使用率定位資源消耗
%MEM內存占用百分比內存泄漏分析
VSZ虛擬內存大小(KB)進程內存規模
RSS常駐內存集(實際物理內存)真實內存占用
TTY關聯的終端區分后臺/前臺進程
STAT?進程狀態(核心字段)??見下方詳解
START進程啟動時間識別長期運行進程
COMMAND完整命令行識別惡意進程
? ?STAT 狀態碼詳解?
代碼狀態含義
RRunning運行中(或可運行)
SSleep可中斷睡眠(等待事件)
DDisk Sleep不可中斷睡眠(通常涉及 I/O)
ZZombie?僵尸進程(需清理)??
TStopped被信號暫停(如 Ctrl+Z)
tTracing Stop被調試器暫停
XDead (unused)進程完全消亡(不會看到)
<高優先級進程負值 nice(值 < -5)
N低優先級進程正值 nice(值 > 5)
sSession Leader會話首進程
+前臺進程組與終端關聯
l多線程進程含線程

?四、高階過濾與排序技巧?

?1. 動態進程篩選?
ps -u root                 # 顯示 root 用戶的所有進程
ps -p 1,100,200            # 僅顯示 PID 1,100,200 進程
ps -C nginx                # 按進程名篩選(完整可執行文件名)
pgrep -l nginx | ps -f -p  # 組合查詢
?2. 資源排序?
ps aux --sort=-%cpu | head -10   # CPU 占用 TOP10
ps -eo pid,ppid,cmd,%mem --sort=-%mem  # 內存占用降序排列
?3. 樹形結構展示?
ps axjf         # 顯示進程樹(ASCII 字符樹)
ps -e --forest  # 更清晰進程樹(推薦)

?輸出示例?:

systemd(1)─┬─sshd(1000)───sshd(1010)───bash(1011)───vim(1020)├─crond(1100)└─nginx(1200)───worker(1201)

?五、線程級監控(LWP)??

ps -eLf       # 展示線程級詳情(LWP = 線程ID)

?關鍵字段?:

  • LWP:線程 ID(輕量級進程ID)
  • NLWP:該進程的線程總數
  • PSR:當前運行的 CPU 核心編號

?示例?:監控 Java 進程線程

ps -eL -q $JAVA_PID | grep "java"

?六、僵尸進程檢測與清理?

?1. 定位僵尸進程?
ps aux | grep 'Z'   # 狀態為 Z 即僵尸進程
?2. 強制清理?
# 找到僵尸進程的 PPID
kill -s SIGCHLD [PPID]  # 通知父進程回收子進程
kill [PPID]             # 若無效則殺死父進程

?七、組合應用實戰?

?場景1:定位占用 80 端口的進程?
ps -p $(lsof -ti :80) -o pid,user,cmd
?場景2:監控 Web 服務異常?
watch -n 5 "ps -C nginx --no-headers | wc -l"  # 每5秒檢查Nginx進程數
?場景3:容器環境診斷?
docker exec my-app ps aux   # 進入容器查看進程

?八、高級參數(系統級調試)??

參數功能描述
-F顯示完整格式(含線程)
-L顯示線程(同 -T
-o user,pid,ni,pri,rtprio顯示進程優先級相關(NI/PRI)
--cumulative統計內存累計值
-ww無寬度限制(完整命令行)

?九、替代方案對比?

命令特點適用場景
top動態刷新實時監控
htop交互式增強版可視化操作
pgrep快速篩選進程ID腳本中快速獲取PID
pstree樹狀結構專精直觀查看進程層級關系

?經驗法則?:

  • ?快速診斷? → ps aux | grep 關鍵詞
  • ?完整分析? → ps -ef --forest
  • ?性能監控? → ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/93426.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/93426.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/93426.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深入理解C語言:詳解直接插入排序的實現與優化

目錄 引言 一、直接插入排序的相關概念 1.1、基本概念 1.2、直接插入排序過程詳解 二、代碼實現 三、時間復雜度 四、希爾排序 4.1、希爾排序的陳述 4.2、代碼實現 4.3、時間復雜度 結語 引言 在計算機科學的世界里&#xff0c;排序算法是基礎且重要的組成部分。它們…

【DRAM存儲器五十五】LPDDR5介紹--command bus training

??個人主頁:highman110 ??作者簡介:一名硬件工程師,持續學習,不斷記錄,保持思考,輸出干貨內容 參考資料:《某LPDDR5數據手冊》 、《JESD209-5A》 在為高頻或中頻操作啟用ODT之前,必須對L

一道曾經百度面試題

&#x1f680;個人主頁&#xff1a;BabyZZの秘密日記 &#x1f4d6;收入專欄&#xff1a;C語言 &#x1f30d;文章目入1. 題目重現2. 大小端到底在比什么&#xff1f;3. 解法一&#xff1a;聯合體&#xff08;union&#xff09;為什么一行就夠&#xff1f;使用示例4. 解法二&am…

VIKOR(Multi-criteria Optimization and Compromise Solution)簡介與簡單示例

前言 提醒&#xff1a; 文章內容為方便作者自己后日復習與查閱而進行的書寫與發布&#xff0c;其中引用內容都會使用鏈接表明出處&#xff08;如有侵權問題&#xff0c;請及時聯系&#xff09;。 其中內容多為一次書寫&#xff0c;缺少檢查與訂正&#xff0c;如有問題或其他拓展…

【算法訓練營Day18】二叉樹part8

文章目錄修剪二叉搜索樹將有序數組轉換為二叉搜索樹把二叉搜索樹轉換為累加樹修剪二叉搜索樹 題目鏈接&#xff1a;669. 修剪二叉搜索樹 解題邏輯&#xff1a; 因為在刪除的同時要保證相對結構&#xff0c;所以我們不能沿用上一篇文章中的刪除邏輯&#xff0c;新的刪除邏輯為&…

【C++篇】“內存泄露”的寶藏手段:智能指針

目錄 智能指針的使用場景分析 RAII和智能指針的設計思路 C標準庫智能指針的使用 auto_ptr的使用&#xff1a; unique_ptr的使用&#xff1a; shared_ptr的使用&#xff1a; 模擬shared_ptr: 定制刪除器&#xff1a; shared_ptr的循環引用 weak_ptr 智能指針的使用場景…

【密碼學】4. 分組密碼

目錄分組密碼分組密碼概述Feistel 密碼結構數據加密標準&#xff08;DES&#xff09;差分密碼分析與線性密碼分析分組密碼的運行模式國際數據加密算法&#xff08;IDEA&#xff09;高級加密標準&#xff08;AES&#xff0c;Rijndael&#xff09;中國商用密碼 SM4祖沖之密碼&…

單片機(STM32-WIFI模塊)

一、WIFI模塊介紹 1. ESP12-F模組介紹 1.1 簡介 ESP12-F模組&#xff08;安信可&#xff08;Ai-Thinker&#xff09;ESP8266系列模組&#xff09;是一款基于樂鑫&#xff08;Espressif&#xff09;公司ESP8266芯片的Wi-Fi無線通信模塊&#xff0c;廣泛應用于物聯網&#xff0…

PyTorch 數據類型和使用

關于PyTorch的數據類型和使用的學習筆記 系統介紹了PyTorch的核心數據類型Tensor及其應用。Tensor作為多維矩陣數據容器&#xff0c;支持0-4維數據結構&#xff08;標量到批量圖像&#xff09;&#xff0c;并提供了多種數值類型&#xff08;float32/int64等&#xff09;。通過…

[python刷題模板] LogTrick

[python刷題模板] LogTrick 一、 算法&數據結構1. 描述2. 復雜度分析3. 常見應用4. 常用優化二、 模板代碼1. 特定或值的最短子數組2. 找特定值3. 找位置j的最后一次被誰更新4. 問某個或和的數量三、其他四、更多例題五、參考鏈接一、 算法&數據結構 1. 描述 LogTric…

Vim與VS Code

Vim is a clone, with additions, of Bill Joys vi text editor program for Unix. It was written by Bram Moolenaar based on source for a port of the Stevie editor to the Amiga and first released publicly in 1991.其實這個本身不是 IDE &#xff08;只有在加入和配置…

[2025CVPR-圖象分類方向]CATANet:用于輕量級圖像超分辨率的高效內容感知標記聚合

?1. 研究背景與動機? ?問題?&#xff1a;Transformer在圖像超分辨率&#xff08;SR&#xff09;中計算復雜度隨空間分辨率呈二次增長&#xff0c;現有方法&#xff08;如局部窗口、軸向條紋&#xff09;因內容無關性無法有效捕獲長距離依賴。?現有局限?&#xff1a; SPI…

課題學習筆記3——SBERT

1 引言在構建基于知識庫的問答系統時&#xff0c;"語義匹配" 是核心難題 —— 如何讓系統準確識別 "表述不同但含義相同" 的問題&#xff1f;比如用戶問 "對親人的期待是不是欲&#xff1f;"&#xff0c;系統能匹配到知識庫中 "追名逐利是欲…

在Word和WPS文字中把全角數字全部改為半角

大部分情況下我們在Word或WPS文字中使用的數字或標點符號都是半角&#xff0c;但是有時不小心按錯了快捷鍵或者點到了輸入法的全角半角切換圖標&#xff0c;就輸入了全角符號和數字。不用擔心&#xff0c;使用它們自帶的全角、半角轉換功能即可快速全部轉換回來。一、為什么會輸…

數據結構的基本知識

一、集合框架1、什么是集合框架Java集合框架(Java Collection Framework),又被稱為容器(container),是定義在java.util包下的一組接口(interfaces)和其實現類(classes).主要表現為把多個元素(element)放在一個單元中,用于對這些元素進行快速、便捷的存儲&#xff08;store&…

WebStack-Hugo | 一個靜態響應式導航主題

WebStack-Hugo | 一個靜態響應式導航主題 #10 shenweiyan announced in 1.3-折騰 WebStack-Hugo | 一個靜態響應式導航主題#10 ?編輯shenweiyan on Oct 23, 2023 6 comments 7 replies Return to top shenweiyan on Oct 23, 2023 Maintainer Via&#xff1a;我給自己…

01 基于sklearn的機械學習-機械學習的分類、sklearn的安裝、sklearn數據集、數據集的劃分、特征工程中特征提取與無量綱化

文章目錄機械學習機械學習分類1. 監督學習2. 半監督學習3. 無監督學習4. 強化學習機械學習的項目開發步驟scikit-learn1 scikit-learn安裝2 sklearn數據集1. sklearn 玩具數據集鳶尾花數據集糖尿病數據集葡萄酒數據集2. sklearn現實世界數據集20 新聞組數據集3. 數據集的劃分特…

攜全雙工語音通話大模型亮相WAIC,Soul重塑人機互動新范式

近日&#xff0c;WAIC 2025在上海隆重開幕。作為全球人工智能領域的頂級盛會&#xff0c;本屆WAIC展覽聚焦底層能力的演進與具體垂類場景的融合落地。堅持“模應一體”方向、立足“AI社交”的具體場景&#xff0c;Soul App此次攜最新升級的自研端到端全雙工語音通話大模型亮相&…

第2章 cmd命令基礎:常用基礎命令(1)

Hi~ 我是李小咖&#xff0c;主要從事網絡安全技術開發和研究。 本文取自《李小咖網安技術庫》&#xff0c;歡迎一起交流學習&#x1fae1;&#xff1a;https://imbyter.com 本節介紹的命令有目錄操作&#xff08;cd&#xff09;、清屏操作&#xff08;cls&#xff09;、設置顏色…

Java 10 新特性解析

Java 10 新特性解析 文章目錄Java 10 新特性解析1. 引言2. 本地變量類型推斷&#xff08;JEP 286&#xff09;2.1. 概述2.2. 使用場景2.3. 限制2.4. 與之前版本的對比2.5. 風格指南2.6. 示例代碼2.7. 優點與注意事項3. 應用程序類數據共享&#xff08;JEP 310&#xff09;3.1. …