瑞芯微开发板基础——Linux的常用指令VI
1. 简单介绍
作为一个嵌入式 Linux 开发者,尤其是调试 RV1126b 这类开发板的驱动、应用程序时,你一定遇到过这种 “抓瞎时刻”:
写的摄像头驱动加载后进程卡死,却不知道哪个进程占用了 CPU;
或者开发板后台跑了多个测试程序,想确认某个程序是否真的启动;
又或者系统突然卡顿,想排查是不是有僵尸进程
这时候,ps 就是你最核心的 “进程监控工具”,能一眼看清开发板上所有进程的状态、PID、CPU 占用、运行路径,帮你快速定位进程异常问题。
在我看来,ps 就像嵌入式开发板的 “进程透视镜”:既能列出所有运行中的进程,又能筛选出你关注的目标进程(比如驱动相关的守护进程、自己写的应用程序),还能判断进程是 “活着”“卡死” 还是 “变成僵尸”。不管是调试还是排查驱动加载后引发的进程异常,ps 都是必用工具。
2. 先搞懂:ps 的核心逻辑
嵌入式 Linux 中,每个进程都有唯一的PID(进程 ID),还有 PPID(父进程 ID)、状态(R 运行 / S 睡眠 / Z 僵尸)、CPU 占用率、所属用户、运行的程序路径等关键信息。ps 的核心就是把这些信息以不同格式展示出来,嵌入式开发中重点关注:
3. 基础用法:从简单到复杂(嵌入式开发高频场景)
来看基础用法,示例如下
核心用法 :查看所有进程(ps aux)
| | |
|---|
| | |
| | |
| | |
| | |
| | |
| | R = 运行中 / S = 睡眠(可唤醒)/D = 不可中断睡眠(驱动卡住)/Z = 僵尸进程 |
| | |
示例如下
4. 总结
ps 是嵌入式开发中监控进程的 “核心工具”,记住三个核心用法:
1.ps aux:
全量查看进程,重点关注 % CPU、% MEM、STAT 列,排查异常进程;
2.ps -efH:
按进程树看父子关系,理清程序启动层级;
3.ps aux | grep 进程名:
精准筛选目标进程,方便后续调试 / 杀进程。