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 的区别:
- 格式差异:
-
ps aux是 BSD 风格的选项,信息格式与ps -ef不同。ps aux的输出有 CPU 和内存的百分比使用情况。ps -ef是 UNIX 风格的选项,显示的信息略有不同,主要包含 PPID(父进程 ID)和 UID(用户 ID)等字段。
- 适用系统:
-
- 大多数 Linux 发行版支持两种格式,但传统上,
ps aux采用 BSD 选项,ps -ef采用 UNIX 选项。
- 大多数 Linux 发行版支持两种格式,但传统上,
总结:
ps aux更关注进程的资源使用(CPU 和内存)。ps -ef更关注进程的关系(进程 ID 和父进程 ID)。