ps命令用于查看linux系统中运行的进程,可显示进程的PID、TTY、TIME、CMD等信息;通过ps aux可查看所有用户的所有进程及其CPU、内存占用情况;使用ps axjf能以树状结构展示进程间的父子关系;配合grep可筛选特定进程如ps aux | grep nginx;相比top或htop,ps更适合一次性查询和脚本处理。
在Linux中,ps 命令是查看系统中运行进程的常用工具。它能显示当前终端或整个系统的进程快照,帮助你了解哪些程序正在运行、它们的资源使用情况以及进程之间的关系。
基本用法:查看当前用户的进程
输入以下命令可以列出当前用户在当前终端下运行的进程:
ps
默认输出包含四列信息:
- PID:进程ID
- TTY:终端设备
- TIME:累计CPU时间
- CMD:启动该进程的命令
查看所有进程(系统级)
要查看系统中所有正在运行的进程,使用:
ps aux
这个组合是最常用的选项之一:
- a:显示所有用户的进程
- u:以更易读的格式显示详细信息(如用户名、CPU和内存使用率)
- x:包括没有控制终端的进程(如后台服务)
输出中的关键字段包括 %CPU、%MEM、VSZ(虚拟内存大小)、RSS(物理内存使用)、STAT(进程状态)等。
查看进程树结构
如果你想看到进程之间的父子关系,可以使用:
ps axjf
这会以树状结构展示进程,便于理解哪个进程由哪个父进程启动。例如,你可以清楚地看到某个服务是如何被 init 或 systemd 启动的。
结合其他命令进行筛选
ps 命令通常与 grep 配合使用来查找特定进程:
ps aux | grep nginx
这条命令会列出所有包含 "nginx" 的进程行,方便快速定位某个服务是否在运行。
基本上就这些。掌握 ps 的常见用法后,你可以快速诊断系统状态、查找异常进程或监控资源占用情况。虽然 top 或 htop 提供动态视图,但 ps 更适合脚本处理和一次性查询。