ps -ef 与 ps aux

1,202 阅读2分钟

ps 命令用于查看当前系统中运行的进程。ps 命令有很多选项,不同的选项组合可以显示不同的进程信息。

1. ps aux

  • ps aux 是 BSD 风格的选项组合,显示所有用户的进程,带有详细的进程信息。
  • 各字段的含义:
    • USER:启动该进程的用户。
    • PID:进程的 ID。
    • %CPU:进程使用的 CPU 百分比。
    • %MEM:进程使用的内存百分比。
    • VSZ:虚拟内存的大小(以 KB 为单位)。
    • RSS:进程使用的实际内存大小(以 KB 为单位)。
    • TTY:终端设备(如果是后台进程,显示为 ?)。
    • STAT:进程的状态,例如运行 (R)、休眠 (S)、暂停 (T) 等。
    • START:进程的启动时间。
    • TIME:进程使用的 CPU 时间。
    • COMMAND:启动进程的命令。

示例输出:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  20016  1212 ?        Ss   08:30   0:02 /sbin/init
user       101  0.1  0.5  12288  5124 pts/0    R+   09:00   0:00 bash

2. ps -ef

  • ps -ef 是 UNIX 风格的选项组合,输出的进程信息也很详细。
  • 各字段的含义:
    • UID:进程的用户 ID。
    • PID:进程 ID。
    • PPID:父进程的 ID。
    • C:进程的 CPU 使用率。
    • STIME:进程的启动时间。
    • TTY:关联的终端设备。
    • TIME:进程运行所占的 CPU 时间。
    • CMD:启动该进程的命令。

示例输出:

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 08:30 ?        00:02:13 /sbin/init
user       101     1  0 09:00 pts/0    00:00:00 bash

ps aux ps -ef 的区别

  1. 格式差异
    • ps aux 是 BSD 风格的选项,信息格式与 ps -ef 不同。ps aux 的输出有 CPU 和内存的百分比使用情况。
    • ps -ef 是 UNIX 风格的选项,显示的信息略有不同,主要包含 PPID(父进程 ID)和 UID(用户 ID)等字段。
  1. 适用系统
    • 大多数 Linux 发行版支持两种格式,但传统上,ps aux 采用 BSD 选项,ps -ef 采用 UNIX 选项。

总结:

  • ps aux 更关注进程的资源使用(CPU 和内存)。
  • ps -ef 更关注进程的关系(进程 ID 和父进程 ID)。