📖 知识点
1. Windows 进程列表 → Linux ps
| Windows | Linux | 说明 |
|---|---|---|
| 任务管理器→进程 |
| 列出当前进程 |
| 查看进程详情 |
| 看全部进程的详细信息 |
ps = process status(进程状态)。它不像 top 实时刷新,而是拍一张快照:执行一次,列出此刻的进程,然后结束。
💡 生活比喻top 像 "24 小时监控录像"(实时滚动),ps 像 "点名照个合影"(拍一张:现在都有谁在场)。想 "现在有哪些进程",ps 一下最快。
2. 基本用法
ps # 只看当前终端相关的进程(很少)
ps aux # 看系统所有进程的详细信息(最常用)
ps aux是最常用的写法,显示系统里所有进程的详细信息。
3. ps aux 看什么
ps aux
运行示例:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 10000 5000 ? Ss Oct20 0:01 /sbin/init
user 1234 0.0 0.2 50000 20000 pts/0 S 10:00 0:01 bash
user 5678 1.5 0.8 80000 60000 pts/0 R 10:05 0:05 python3
关键列:
USER:这个进程属于谁
PID:进程编号
%CPU / %MEM:占用的 CPU / 内存
COMMAND:运行的命令 / 程序名
4. 配合 grep 精确查进程
想找某个程序在不在跑,配合 grep 过滤:
ps aux | grep python # 只看和python相关的进程
|是 "管道",把 ps 的结果交给 grep 筛选(Day28 细讲)。
⚠️ 易错提醒
ps默认只显示当前终端进程,看系统全部进程要用ps auxps 是 "快照",一次性输出后结束;要实时刷新用 top
ps aux | grep 名字可以快速查某个程序是否在运行
⚔️ Kata 实战任务
任务需求:
敲
ps aux查看系统所有进程观察 USER、PID、% CPU、% MEM、COMMAND 这几列
敲
ps aux | grep bash只筛选和 bash 相关的进程敲
ps aux | grep python看看有没有 python 进程体会 ps"查岗点名" 和 top"实时监控" 的区别
参考代码(在终端依次敲)
# 1. 查看所有进程(快照)
ps aux
# 2. 只看和 bash 相关的进程
ps aux | grep bash
# 3. 看看有没有 python 进程
ps aux | grep python
运行示例:
user@linux:~$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 10000 5000 ? Ss Oct20 0:01 /sbin/init
user 1234 0.0 0.2 50000 20000 pts/0 S 10:00 0:01 bash
user 5678 1.5 0.8 80000 60000 pts/0 R 10:05 0:05 python3
user@linux:~$ ps aux | grep bash
user 1234 0.0 0.2 50000 20000 pts/0 S 10:00 0:01 bash
user 2000 0.0 0.1 10000 8000 pts/0 S 10:20 0:00 grep bash
🧠 思考题
ps aux和top查看进程的方式有什么不同?各自适合什么场景?ps aux | grep bash里的| grep bash起到什么作用?想找 "python" 进程该怎么改?
行者孙Python