Linux ps 命令深度指南 | AI生成和翻译

Home 2026.02

我将为您详细介绍 ps 命令及其用于列出 process 的选项。

What is ps?

ps 命令用于显示 Unix/Linux 系统中活动 process 的信息。它是 process management 和 system monitoring 最基础的工具之一。

Basic Usage

最简单的形式是显示当前用户在当前 terminal 中的 process:

ps

Common Option Styles

ps 命令有三种可以混用的选项风格:

  1. Unix options - 前面带连字符(例如 -e
  2. BSD options - 不带连字符(例如 aux
  3. GNU long options - 两个连字符(例如 --forest

Most Useful Commands

查看所有用户的所有 process:

ps aux          # BSD style
ps -ef          # Unix style

以树状/层级结构查看 process:

ps auxf         # BSD style 带有 forest 视图
ps -ef --forest # Unix style 带有 tree 视图

查看特定用户的 process:

ps -u username
ps aux | grep username

通过 PID 查看 process:

ps -p 1234
ps -p 1234,5678,9101  # 多个 PID

Key Options Explained

BSD Style (no dash)

Unix Style (with dash)

Understanding the Output

当你运行 ps aux 时,你会看到如下列:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

Custom Output Formats

你可以自定义显示哪些列:

ps -eo pid,user,%cpu,%mem,command
ps aux --sort=-%cpu | head    # CPU 使用率最高的 process
ps aux --sort=-%mem | head    # 内存使用率最高的 process

Practical Examples

查找特定 process:

ps aux | grep firefox

显示 threads:

ps -eLf          # 所有 threads
ps -T -p 1234    # 特定 PID 的 threads

实时监控 process:

watch -n 1 'ps aux --sort=-%cpu | head -20'

查看带有完整 command line 的 process:

ps auxww | grep process_name

统计 process 数量:

ps aux | wc -l

从特定 process 查看 process 树:

ps -ef --forest | grep -A 5 process_name

Commonly Used Combinations

ps aux              # 所有信息,详细
ps -ef              # 所有信息,不同格式
ps auxf             # 带有层级结构的所有信息
ps -u $(whoami)     # 仅显示你的 process
ps -C httpd         # 所有 httpd process
ps -p $$            # 当前 shell process

Tips

ps 命令非常多才多艺。从 ps auxps -ef 开始进行常规概览,然后根据需要添加选项以获取更具体的信息。


Back Donate