一、为什么要学ps命令?
在Linux世界里,ps(Process Status)就像你的"系统CT扫描仪"!
为什么重要?
- 查看当前运行的所有进程(比如突然卡顿时排查元凶)
- 快速定位异常进程(如内存泄漏的程序)
- 为kill命令提供精准的"目标ID"
二、5个必学核心命令(附实战场景)
1ps aux:全量扫描模式(系统医生模式)
ps aux | grep "nginx" 场景:服务器突然访问变慢?用ps aux找出占用CPU/内存的nginx进程!
输出解析:
- %CPU:进程CPU占用率
- %MEM:内存占用率
- COMMAND:进程启动命令
2ps -ef:树状家族图谱
ps -ef | grep "java" 场景:部署Spring Boot应用后,用ps -ef查看父子进程关系!
技巧:| grep过滤关键词,告别眼花缭乱的输出
3ps -p PID:单进程深度体检
ps -p 1234场景:某个程序卡死?用进程ID(PID)直接查看状态!
4ps -o:自定义体检报告
ps -o pid,comm,%cpu,%mem场景:只看关键指标?自定义输出字段告别信息过载!
5ps -C:按名称精准狙击
ps -C "httpd"场景:Apache服务异常?直接列出所有httpd进程!
三、进阶技巧:让ps更强大!
1. 实时监控(配合top)
watch -n 1 'ps aux | grep java'每秒刷新Java进程状态,像监控仪表盘一样直观!
2. 结合kill命令
kill $(ps -ef | grep "bad_process" | awk '{print $2}')一键清理所有异常进程,自动化脚本必备!
3. 输出到文件分析
ps aux > process_report.txt生成进程快照,方便离线分析或提交给运维同事
四、常见问题急救包
问题 | 解决方案 |
ps: command not found | 安装procps包(Debian系用sudo apt install procps) |
输出太乱看不清 | 用ps aux |
想看所有用户的进程 | 使用ps -e -u all |
五、彩蛋:ps命令隐藏技能
ps --sort=-%cpu -eo pid,comm,%cpu,%mem按CPU占用降序排列,瞬间锁定性能杀手!
#Linux #运维技巧 #程序员涨知识 #命令行艺术
