概述
进程是正在运行的程序实例。Linux 提供了丰富的工具来查看、管理和控制进程。进程基础
进程与程序
| 概念 | 说明 |
|---|---|
| 程序 | 静态的可执行文件 |
| 进程 | 运行中的程序实例 |
| PID | 进程唯一标识符 |
| PPID | 父进程 ID |
| 线程 | 进程内的执行单元 |
进程状态
| 状态 | 符号 | 说明 |
|---|---|---|
| 运行 | R | 正在运行或就绪 |
| 睡眠 | S | 可中断睡眠(等待事件) |
| 睡眠 | D | 不可中断睡眠(等待I/O) |
| 停止 | T | 被暂停 |
| 僵尸 | Z | 已终止但未被回收 |
查看进程
ps - 查看进程快照
top - 实时监控
htop - 增强版 top
pgrep - 查找进程 ID
pstree - 进程树
控制进程
前台与后台
kill - 发送信号
killall - 按名称终止
pkill - 按模式终止
进程优先级
nice 值
nice 值范围:-20(最高优先级)到 19(最低优先级),默认为 0。renice - 调整优先级
监控工具
vmstat - 虚拟内存统计
iostat - I/O 统计
free - 内存使用
uptime - 系统负载
系统资源限制
ulimit - 用户限制
后台任务管理
screen - 终端复用
tmux - 终端复用
systemd 服务
常用命令总结
| 命令 | 功能 | 常用选项 |
|---|---|---|
| ps | 查看进程 | aux, -ef |
| top | 实时监控 | -d, -p |
| htop | 增强监控 | |
| pgrep | 查找进程 | -l, -u |
| kill | 发送信号 | -9, -15 |
| killall | 按名称终止 | -9 |
| nice | 设置优先级 | -n |
| renice | 调整优先级 | -p |
| jobs | 查看后台任务 | -l |
| bg/fg | 后台/前台切换 | |
| nohup | 忽略挂断信号 |
- 使用
kill -9是最后手段,优先使用kill -15 - 僵尸进程需要终止其父进程来清理
- 生产环境使用 systemd 管理服务
- 长时间任务使用 screen/tmux 防止断开