ps
命令用于显示当前系统中正在运行的进程信息。通过 ps
命令可以查看到包括进程 ID、用户、CPU 使用率、内存使用率等在内的各种进程详细信息。
基本用法
ps
命令的基本格式如下:
ps [选项]
常用选项有 -e
(或 --all
)、-f
(或 --full
)、-u
(或 --user
)等。
示例
- 查看所有进程:
ps -e
- 显示完整格式的进程列表:
ps -ef
- 显示指定用户的进程:
ps -u username
详细选项
ps
命令支持多种选项来定制输出结果,下面列举一些常用的选项:
显示所有进程
-e
或--all
: 显示系统中的所有进程。-A
或--all
: 同-e
。
显示特定用户的所有进程
-u userlist
或--user userlist
: 显示指定用户的所有进程。userlist
可以是用户名或者用户ID。
显示进程树
-T
或--threads
: 显示线程以及它们所属的进程。-f
或--full
: 显示完整格式的进程信息,包括线程。-H
或--forest
: 以树状结构显示进程及其子进程。
显示进程的详细信息
-o format
或--format format
: 自定义输出格式。例如,ps -eo pid,ppid,user,cmd,%mem,%cpu
可以自定义显示进程ID、父进程ID、用户名、命令行、内存使用率和CPU使用率。
按条件过滤进程
-C command
或--sort command
: 按指定命令名排序。-g pgrp
或--group pgrp
: 显示属于指定进程组的所有进程。-s sess
或--sid sess
: 显示属于指定会话ID的所有进程。
显示额外信息
-l
或--long
: 长格式显示。-j
或--jobs
: 显示作业信息。-L
或--list
: 显示进程列表。
输出字段解释
ps
命令的输出通常包含多个字段,每个字段代表进程的一个属性。常见的字段有:
- PID (Process ID): 进程的唯一标识符。
- PPID (Parent Process ID): 父进程的唯一标识符。
- USER: 进程所属的用户。
- %CPU: 进程占用的CPU百分比。
- %MEM: 进程占用的内存百分比。
- VSZ (Virtual Memory Size): 进程使用的虚拟内存大小。
- RSS (Resident Set Size): 进程占用的实际物理内存大小。
- TTY (Teletype): 控制终端。
- STAT (Status): 进程的状态,如R(运行)、S(睡眠)、Z(僵尸)等。
- START: 进程启动时间。
- TIME: 进程累计占用的CPU时间。
- COMMAND: 启动该进程的命令行。
实战案例
案例1: 查找占用CPU最多的前5个进程
ps -eo %cpu,cmd --sort=-%cpu | head -n 6
案例2: 查看所有与某个用户相关的进程
ps -u username
案例3: 显示所有进程的树状视图
ps -efH
案例4: 显示特定用户的所有进程并按内存使用率排序
ps -u username -o pid,ppid,user,cmd,%mem,%cpu --sort=-%mem
通过这些示例和解释,您可以更好地理解和使用 ps
命令来管理您的Linux系统中的进程。