当前位置:首页>Linux>Linux命令每日一清单005:ps--进程状态查看命令速查表

Linux命令每日一清单005:ps--进程状态查看命令速查表

  • 2026-08-26 17:09:02
Linux命令每日一清单005:ps--进程状态查看命令速查表

ps(Process Status)是Linux系统中查看进程状态的核心命令,它能够捕获系统当前瞬间的进程快照,显示进程的PID、CPU/内存使用率、运行状态、启动时间等关键信息。作为系统管理和故障排查的基础工具,ps提供了多种输出格式和过滤选项,帮助用户快速定位特定进程或分析系统资源使用情况。

ps命令支持BSD和System V两种风格的语法,前者通常不带短划线(如ps aux),后者则使用短划线(如ps -ef)。两种风格虽然输出格式略有不同,但都能提供全面的进程信息。掌握ps命令是每个Linux用户必备的技能,它为我们打开了一扇了解系统内部运行的窗口。

1. 基本语法

命令说明
ps
显示当前shell中的进程
ps -e
显示所有运行中的进程
ps -f
显示完整格式输出
ps aux
BSD风格全进程列表(含用户和资源信息)
ps -ef
System V风格全进程列表

2. 进程列表查看

命令说明
ps -e
列出所有进程
ps -ef
完整进程列表(含PPID和启动时间)
ps aux
详细信息(含CPU和内存使用率)
ps -u 用户名
查看指定用户的进程
ps -p 1234
查看指定PID的进程

3. 选择与过滤

命令说明
ps -C nginx
按命令名匹配进程
ps -p 1234,5678
显示多个指定PID
ps -u root -U root
显示有效用户和实际用户为root的进程
ps -t pts/0
显示指定终端上的进程
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu
自定义输出并按CPU降序排序

4. 自定义输出列

命令说明
ps -eo pid,cmd
显示PID和命令
ps -eo user,pid,%cpu,%mem,cmd
显示用户、PID、CPU、内存、命令
ps -eo pid,lstart,cmd
显示PID和完整启动时间
ps -o pid= -o comm=
输出不带列标题
ps -p 1234 -o pid,ppid,user,%cpu,%mem,cmd
为指定PID显示自定义字段

5. 进程树与父子关系

命令说明
ps -ejH
层级视图显示进程树
ps -axjf
森林视图(BSD风格)
ps -o pid,ppid,cmd -p 1234
查看指定进程的父子关系
ps -eo pid,ppid,cmd --sort=ppid
按父PID分组显示

6. 实用组合模式

命令说明
ps aux | grep nginx
快速搜索nginx进程(包含grep自身)
ps -C nginx -o pid,cmd
更干净的进程搜索方式(不含grep)
ps -eo pid,%cpu,%mem,cmd --sort=-%mem | head
查看内存消耗最高的前10个进程
ps -eo pid,%cpu,cmd --sort=-%cpu | head
查看CPU消耗最高的前10个进程
ps -ef | grep -v grep | grep sshd
传统grep过滤模式

7. 故障排查指南

问题解决方法
命令在输出中不可见
使用 ps -ef 或 ps aux 查看完整进程列表
进程在两次检查间消失
进程可能是短生命周期的,使用 watch 持续监控
grep显示自身
使用 ps -C 进程名 或 pgrep 替代原始grep
缺少预期的进程详情
使用 -o 添加需要的字段(如 %cpu, %mem, lstart)
需要精确的PID进行kill操作
使用 ps -C 进程名 -o pid= 或 pgrep 进程名

温馨提示: ps命令显示的是执行瞬间的进程快照,如果需要实时监控进程变化,可以结合 watch 命令使用。例如 watch -n 1 'ps -eo pid,%cpu,cmd --sort=-%cpu | head' 可以每秒更新CPU Top10进程。对于需要长期分析的场景,建议使用 top 或 htop 等动态监控工具。

本文PDF格式下载:

  关注公众号(haopython),请回复: LLTPS

最新文章

随机文章