进程是程序的运行实例,包含其内存、凭据、打开的资源和执行状态。Linux 使用数值进程 ID(PID)标识每个活动进程。PID 在同时存在的进程中是唯一的,但进程退出后,内核可以重复使用它。
进程 · 第 1 课
ps(进程)
学习使用 `ps` 获取进程快照,并使用 `top` 监控不断变化的活动。
获取基本快照
不带选项运行 ps,可以查看由当前实现默认规则选择的快照,通常是与当前终端和用户关联的进程:
$ ps
PID TTY TIME CMD
41230 pts/4 00:00:00 bash
51224 pts/4 00:00:00 ps
常见字段包括:
PID:进程 IDTTY:控制终端;没有关联时为?TIME:累计 CPU 时间,而不是实际经过的墙上时钟时间CMD:命令名称或命令行,取决于所选格式
确切列和默认选择规则因 ps 实现及环境而异。
PID 列标识什么?
使用 BSD 风格选项列出进程
Linux ps 接受多种选项风格。BSD 风格选项通常不带开头的连字符:
$ ps aux
在这个组合中:
a扩大选择范围,包含拥有终端的其他用户进程。x也包含没有控制终端的进程,与a组合时进一步扩大选择。u选择面向用户的输出格式,包含USER、%CPU、%MEM、VSZ和RSS等字段。
由于选项含义可能相互作用,应解释完整组合,而不是把每个字母视为独立命令。
在 ps aux 中,哪个选项请求面向用户的输出格式?
使用标准风格选项
广泛使用的标准风格命令 ps -ef 会为选项添加开头连字符:
$ ps -ef
-e选择调用者可见的每个进程。-f请求完整格式列表。
输出通常包含 UID、PID、PPID、启动时间和命令信息。PPID 是父进程 ID。该列表本身并非层次结构;父子布局很重要时,可使用实现支持的 --forest 等选项,或 pstree 等专用树查看器。
ps -ef 中的 -e 请求什么?
随时间监控活动
ps 输出一次快照后便退出。使用 top 可获得定期刷新的交互式视图:
$ top
top 有助于找出不断变化的 CPU 和内存消耗者,但其数值是会波动的采样结果。应通过多次观察确认疑似问题,并结合机器的 CPU 数量、内存计算方式和工作负载解释百分比。
本课介绍的哪个工具默认会定期刷新进程显示?
要动手练习,可以使用管理和监控 Linux 进程比较快照与交互式监控器,或在 Linux top 命令实验中探索排序与筛选。
课程已完成
你已完成 ps(进程)
现在,你可以选择进程视图并解释其基本标识符。
把 PID 视为当前活动进程可重复使用的标识符。
使用普通
ps获取较小的默认快照。使用
ps aux或ps -ef获得更广的选择范围和更丰富的列。需要观察随时间变化时使用
top。