Linux基础及应用教程:进程管理
Linux 进程管理是运维、开发、管理系统资源的核心技能。本节介绍 ps、top、pstree、pgrep、kill、nice、jobs 等核心命令。
一、实验目标
- 掌握 ps、top 查看进程信息
- 理解进程树与父子关系
- 学会查找、终止进程
- 掌握优先级管理 nice / renice
- 理解后台任务 jobs / fg / bg
二、实验环境
- CentOS 7 / 8
- 普通用户:
njucm - root 密码:
123456
三、实验内容与步骤
实验准备
准备一些可用于演示的后台任务:
sleep 300 &
sleep 500 &
任务1:查看进程 ps
ps
ps -aux
ps -ef
# 查看某个进程
ps -ef | grep sleep
任务2:实时监控 top
top
任务3:进程树 pstree
pstree
pstree -p # 显示 PID
pstree root # 查看 root 进程树
任务4:查找进程 pgrep
pgrep sleep
pgrep -l ssh # 显示名称
任务5:终止进程 kill / pkill
# 使用 PID 杀死
kill 12345
# 强制杀死
kill -9 12345
# 按名称杀死
pkill sleep
任务6:优先级管理 nice / renice
# 以较低优先级运行程序
nice -n 10 sleep 300 &
# 修改正在运行进程的优先级
renice -n 5 -p 12345
任务7:后台任务 jobs / fg / bg
# 查看后台任务
jobs
# 暂停任务
Ctrl + Z
# 后台继续
bg
# 前台继续
fg
综合实操练习
任务:找到所有占用 CPU 前五的进程,并结束其中为 sleep 的进程。
top -b -n 1 | head -n 15 # 查看前五
pgrep sleep | xargs kill
四、实验报告要求
- 截图记录每个命令执行结果
- 总结 ps、top、pstree、kill、nice 常用参数
- 写出不少于 3 个 pgrep + kill 的组合示例
- 描述后台任务管理流程
五、常见问题解答
- Q:kill 和 kill -9 有什么区别?
A:kill 是温和终止,kill -9 是强制终止。 - Q:nice 数值越大优先级越高吗?
A:不是,越大优先级越低。 - Q:ps 和 top 有什么区别?
A:ps 是静态快照,top 是实时更新。 - Q:fg、bg 和 jobs 的关系?
A:jobs 查看后台任务;bg 后台运行;fg 前台运行。