进程与系统管理¶
本章目标:
- 理解什么是进程、为什么要管理进程
- 掌握查看、分析、控制进程的常用命令
- 学会查看系统资源(CPU / 内存 / 磁盘)
- 能在实际工作中进行基本的系统排错
1. 什么是进程(Process)?¶
1.1 进程的概念¶
在 Linux 中:
进程 = 正在运行的程序
- 程序:静态文件(在磁盘上)
- 进程:程序运行后的状态(在内存中)
1.2 进程的基本特征¶
- 每个进程都有一个唯一的 PID(进程 ID)
- 进程由操作系统调度
- 进程会占用 CPU / 内存等资源
2. 查看进程(非常重要)¶
2.1 ps 命令(静态查看)¶
ps -ef
含义:
-e:所有进程-f:完整格式显示
常见字段说明:
| 字段 | 含义 |
|---|---|
| UID | 进程所属用户 |
| PID | 进程 ID |
| PPID | 父进程 ID |
| CMD | 启动命令 |
2.2 结合 grep 查找进程¶
ps -ef | grep java
📌 常用于:
- 查 Java / Node / Python 进程
- 查服务是否运行
3. 动态查看进程:top¶
3.1 top 的作用¶
top
👉 实时显示系统运行状态
可以看到:
- CPU 使用率
- 内存使用率
- 各进程资源占用
3.2 top 常用操作¶
q:退出P:按 CPU 排序M:按内存排序
4. 结束进程(kill)¶
4.1 kill 的基本用法¶
kill PID
👉 向进程发送“终止信号”
4.2 常用信号¶
kill -15 PID # 正常结束(默认)
kill -9 PID # 强制结束(慎用)
📌 教学重点:
能用 -15 就不要用 -9
5. 系统资源查看¶
5.1 CPU 与负载¶
uptime
查看:
- 系统运行时间
- 负载情况(load average)
5.2 内存使用情况¶
free -h
字段说明:
- total:总内存
- used:已使用
- available:可用
5.3 磁盘使用情况¶
df -h
👉 查看磁盘分区使用率
5.4 目录占用空间¶
du -sh *
👉 查哪个目录占空间大
6. 服务管理回顾(systemctl)¶
systemctl status nginx
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
📌 服务 ≠ 普通进程
服务由 systemd 管理
7. 常见排错思路(教学重点)¶
场景 1:服务无法访问¶
systemctl status 服务名ps -ef | grep 服务tail -f 日志
场景 2:服务器变慢¶
top- 看 CPU / 内存占用
- 找异常进程
8. 常见错误与提醒¶
- kill -9 滥用
- 不看 PID 乱杀进程
- 磁盘满了没发现
- 只看 ps 不看 top
9. 本章小结¶
你现在应该能够:
- 理解进程的概念
- 查看并分析进程
- 安全地结束进程
- 判断系统资源状态
10. 教学练习¶
练习 1¶
ps -ef | wc -l
练习 2¶
- 启动一个程序
- 用 ps / top 找到它
- 使用 kill 结束
练习 3¶
- 查看磁盘使用情况
- 找出占用最大的目录