#type / howto
#status / growing
#tech / ops
#resource / linux
#platform / linux
[!info] related notes
Linux 进程与任务控制命令
目标
- 快速定位进程、查看运行状态、切换前后台任务并终止异常进程。
前置条件
- 先区分两类对象:
- 系统进程:用
ps、top、kill、pgrep 看。
- 当前 shell 的作业:用
jobs、bg、fg 看。
步骤
1. 查看进程
| 命令 | 用途 |
|---|
ps / ps -ef | 查看当前快照中的进程 |
top | 实时查看进程与资源占用 |
htop | 更友好的交互式进程查看器 |
pgrep name | 按名称查找进程 |
2. 终止进程
| 命令 | 用途 |
|---|
kill PID | 发送默认终止信号 |
kill -9 PID | 强制杀死进程,优先级最低时才用 |
pkill name | 按名称终止进程 |
3. 调整优先级
| 命令 | 用途 |
|---|
nice -n 10 command | 启动时设置 nice 值 |
renice 10 -p PID | 调整已运行进程的 nice 值 |
4. 控制当前 shell 的后台任务
| 命令 / 按键 | 用途 |
|---|
command & | 直接放到后台运行 |
Ctrl-z | 挂起当前前台任务 |
jobs | 查看当前 shell 的后台任务 |
bg | 让挂起任务继续在后台运行 |
fg | 把后台任务拉回前台 |
Ctrl-c | 中断当前前台任务 |
验证
- 用
ps -ef | grep name 或 pgrep name 确认目标进程是否仍在运行。
- 用
jobs 确认当前 shell 中的任务状态是否符合预期。
常见问题
Ctrl-z 只是挂起,不等于结束进程。
jobs 只能看到当前 shell 会话里的作业,看不到所有系统进程。
- 端口被占用时,优先直接走 按端口找进程,比手工翻
ps 更快。