---
# System prepended metadata

title: ps aux：掌控系統 process 的利器
tags: [Tool, Linux, macOS]

---

---
title: ps aux：掌控系統 process 的利器
tags: [Tool, CLI, Linux, MacOS, Process]
---
# ps aux：掌控系統 process 的利器

[文章更新時間: 2026-02-23 16:27]

![ps](https://hackmd.io/_uploads/ByG17nO8Zl.jpg)

### 1. 簡介

`ps` (Process Status) 是 Unix-like 系統中用於報告當前進程快照的標準工具。而 `aux` 這一組參數組合（源自 BSD 風格）是最常用的搭配用法。它不像 `top` 或 `htop` 那樣動態更新，而是提供一個**靜態的、精確的**當前系統狀態清單，非常適合用於腳本分析或排查特定時刻的系統問題。

---

### 2. 優點

* **無需安裝**：幾乎預裝在所有 Linux 發行版和 macOS 中。
* **細粒度資訊**：從 CPU/記憶體佔用到進程啟動時間，資訊一應俱全。
* **適合自動化**：其輸出的純文字格式極易與 `grep`、`awk`、`sed` 等工具結合。
* **資源消耗極低**：相比圖形化監控工具，它對系統資源的佔用幾乎可以忽略不計。

---

### 3. 安裝步驟

這是一個內建工具，你通常**不需要安裝**。

* **Linux (Ubuntu/CentOS/Arch/etc.)**: 預裝在 `procps` 套件中。
* **macOS**: 系統內建，直接打開 `Terminal.app` 或 `iTerm2` 即可使用。

如果你發現系統中缺失（極少見的情況，如極簡 Docker 鏡像）：

```bash
# Ubuntu/Debian
sudo apt update && sudo apt install procps
# CentOS/RHEL
sudo yum install procps-ng
```

---

### 4. 操作步驟

直接在終端機輸入：

```bash
ps aux
```

#### 欄位含義解讀：

| 欄位 | 說明 |
| --- | --- |
| **USER** | 進程的所有者。 |
| **PID** | 進程識別碼（Process ID），殺掉進程時常用。 |
| **%CPU** | 佔用的 CPU 運算能力百分比。 |
| **%MEM** | 佔用的實體記憶體百分比。 |
| **VSZ** | 虛擬記憶體大小 (KB)。 |
| **RSS** | 實際駐留記憶體大小 (KB)。 |
| **STAT** | 進程狀態（如 `R` 運行、`S` 睡眠、`Z` 殭屍）。 |
| **START** | 進程啟動的時間。 |
| **COMMAND** | 啟動該進程的完整指令。 |

---

### 5. 使用情境介紹

#### 情境 A：尋找並殺死「當掉」的程式

當你的 Chrome 或某個開發工具卡死時，你需要找到它的 PID：

```bash
ps aux | grep chrome
kill -9 <PID>
```

#### 情境 B：找出系統中的「記憶體怪獸」

想知道是誰吃掉了你的 RAM？

```bash
# 根據 %MEM 排序
ps aux --sort=-%mem | head -n 10
```

#### 情境 C：確認後台服務是否正在運行

例如確認 `nginx` 是否啟動：

```bash
ps aux | grep nginx
```

---

### 6. 進階用法

#### 技巧一：自定義輸出欄位

有時候 `aux` 給的資訊太多了，你可以自定義想要看的欄位，這在撰寫監控腳本時非常有用：

```bash
ps -eo pid,user,ppid,%mem,%cpu,comm --sort=-%cpu
```

#### 技巧二：查看線程級別的細節

如果你想看某個進程下所有的線程：

```bash
ps -aL
```

#### 技巧三：排除 grep 自身的進程

當你用 `grep` 搜尋時，通常會看到 `grep --color=auto ...` 這一列，透過這個小技巧可以過濾它：

```bash
ps aux | grep [n]ginx
```

*(註：利用正則表達式，讓 grep 搜尋 'nginx' 但匹配不到包含 'grep [n]ginx' 的字串)*

---

### 💡同類型工具推薦

雖然 `ps aux` 是經典，但如果想要有更好的互動性，我強烈建議你這個工具 {%preview https://hackmd.io/@steepinglogic/btop %}