ps(进程)
100%

进程 · 第 1 课

ps(进程)

学习使用 `ps` 获取进程快照,并使用 `top` 监控不断变化的活动。

进程是程序的运行实例,包含其内存、凭据、打开的资源和执行状态。Linux 使用数值进程 ID(PID)标识每个活动进程。PID 在同时存在的进程中是唯一的,但进程退出后,内核可以重复使用它。

获取基本快照

不带选项运行 ps,可以查看由当前实现默认规则选择的快照,通常是与当前终端和用户关联的进程:

$ ps
    PID TTY          TIME CMD
  41230 pts/4    00:00:00 bash
  51224 pts/4    00:00:00 ps

常见字段包括:

  • PID:进程 ID
  • TTY:控制终端;没有关联时为 ?
  • TIME:累计 CPU 时间,而不是实际经过的墙上时钟时间
  • CMD:命令名称或命令行,取决于所选格式

确切列和默认选择规则因 ps 实现及环境而异。

PID 列标识什么?

使用 BSD 风格选项列出进程

Linux ps 接受多种选项风格。BSD 风格选项通常不带开头的连字符:

$ ps aux

在这个组合中:

  • a 扩大选择范围,包含拥有终端的其他用户进程。
  • x 也包含没有控制终端的进程,与 a 组合时进一步扩大选择。
  • u 选择面向用户的输出格式,包含 USER%CPU%MEMVSZRSS 等字段。

由于选项含义可能相互作用,应解释完整组合,而不是把每个字母视为独立命令。

ps aux 中,哪个选项请求面向用户的输出格式?

使用标准风格选项

广泛使用的标准风格命令 ps -ef 会为选项添加开头连字符:

$ ps -ef
  • -e 选择调用者可见的每个进程。
  • -f 请求完整格式列表。

输出通常包含 UIDPIDPPID、启动时间和命令信息。PPID 是父进程 ID。该列表本身并非层次结构;父子布局很重要时,可使用实现支持的 --forest 等选项,或 pstree 等专用树查看器。

ps -ef 中的 -e 请求什么?

随时间监控活动

ps 输出一次快照后便退出。使用 top 可获得定期刷新的交互式视图:

$ top

top 有助于找出不断变化的 CPU 和内存消耗者,但其数值是会波动的采样结果。应通过多次观察确认疑似问题,并结合机器的 CPU 数量、内存计算方式和工作负载解释百分比。

本课介绍的哪个工具默认会定期刷新进程显示?

课程已完成

你已完成 ps(进程)

现在,你可以选择进程视图并解释其基本标识符。

  • 把 PID 视为当前活动进程可重复使用的标识符。

  • 使用普通 ps 获取较小的默认快照。

  • 使用 ps auxps -ef 获得更广的选择范围和更丰富的列。

  • 需要观察随时间变化时使用 top

保存学习进度

创建免费账户即可保存本课进度,并在任意设备上继续学习。

创建免费账户
下一节
返回 进程