
这是我学 Linux 的第 3 课。前两课搞懂了「文件权限」和「用户与组」,今天学一个将来做嵌入式、做机器人天天都会碰到的东西——「进程」。
一、程序 vs 进程,先分清楚🧠
先记住一句话:程序是硬盘里的「死文件」,进程是跑起来的「活程序」。
打个比方你就懂了——程序就像那份菜谱(也就是那个 .py 文件),进程就是你照着菜谱煮出来的、正在冒热气的那碗面。🍜
同一个菜谱,你可以两个锅同时煮两碗面;同理,同一个程序文件,也能同时跑出两个互不干扰的进程。
就拿我的桌宠 desktop_cat.py 来说:敲下 python3 desktop_cat.py 那一刻,桌面上那只小猫就是一个「进程」;没运行的时候,它只是静静躺在硬盘里的一个文件。

二、用 ps aux 看看进程🔍
•ps = Process Status(进程状态)•ps aux 就是 Linux 版的任务管理器,类比 Windows 按 Ctrl+Shift+Esc。
它每一行代表一个进程,我们重点看这几列:
•PID:进程编号,相当于「身份证号」,重点记忆!后面 kill 全靠它•COMMAND:哪个命令跑出来的(最后一个 / 后面是文件名)
三、前台 vs 后台,今天的主角🎭
•不带 & 直接运行 = 前台运行,程序会霸占终端,光标「假死」,得按 Ctrl+C 才能逃出来。•命令最后加一个 & = 放到后台跑,命令提示符马上还给你,你可以继续敲别的命令:
敲完会跳出 [1] 4094——一个数字是任务号,一个数字是 PID。

想让后台程序别来打扰你敲字,就把它的输出「重定向到黑洞」:
python3 程序.py > /dev/null 2>&1 &
四、看后台、停进程🛑
五、一个新手必踩的坑⚠️
用 ps aux | grep 关键词 找某个程序时,grep 命令「自己」也会被搜进去,多出一行假数据。排除它的办法是加个 grep -v grep。
管道 `|` 的作用:把左边命令的结果,倒给右边命令继续处理。
今日新单词📚
| 单词 |
意思 |
| process |
进程 |
| foreground |
前台 |
| background |
后台 |
| redirect |
重定向 |
| pipe |
管道 |
| null |
空 |
| resident |
常驻 |
| virtual |
虚拟 |
| kill |
杀死 |
也别忘了:ps = Process Status,jobs = 任务。