htop/ps — 进程管理工具
Linux 进程管理是所有运维和开发人员的必备技能。本速查表覆盖了从基础的 `ps` 查看到高级的 `strace` 系统调用追踪,以及 `htop` 实时监控、信号发送、优先级调整等常用操作。
更新: 2026-07-17·31 条命令
概述
进程管理是 Linux 系统管理的基本技能。本速查表涵盖进程查看、信号处理、优先级管理和实时监控。
快速开始
``bash
ps aux | grep nginx # 查找 nginx 进程
top # 交互式进程查看器
kill -15 PID # 优雅终止进程
``
详细用法请参阅下方命令表格。
进程查看(8)
| 命令 | 难度 | ||
|---|---|---|---|
ps aux显示所有用户的所有进程(BSD 风格) | 基础 | ps aux | grep nginx | |
ps -ef显示所有进程(System V 风格) | 基础 | ps -ef | grep java | |
ps -u显示指定用户的进程 | 基础 | ps -u www-data | |
ps --forest以树形层级显示进程关系 | 中级 | ps aux --forest | |
pstree以树形图显示进程 | 基础 | pstree -p 1234 | |
pgrep按名称查找进程 ID | 中级 | pgrep -u www-data nginx | |
lsof列出进程打开的文件和网络连接 | 中级 | lsof -i :8080 | |
w显示谁登录以及他们在做什么 | 基础 | w |
实时监控(9)
| 命令 | 难度 | ||
|---|---|---|---|
top实时显示进程动态(默认按 CPU 排序) | 基础 | top -u mysql | |
htop增强版实时进程监视器 | 基础 | htop -p 1234,5678 | |
screen终端多路复用器(保持会话持久) | 中级 | screen -S mysession | |
strace追踪系统调用和信号 | 高级 | strace -p 1234 -e trace=open,read | |
watch定时重复执行命令 | 基础 | watch -n 2 'ps aux --sort=-%cpu | head -10' | |
uptime显示系统运行时间和负载 | 基础 | uptime | |
free显示系统内存使用情况 | 基础 | free -h | |
vmstat报告虚拟内存统计信息 | 中级 | vmstat 2 5 | |
iostat报告输入/输出统计信息 | 中级 | iostat -x 2 |
信号(10)
| 命令 | 难度 | ||
|---|---|---|---|
kill向进程发送信号 | 基础 | kill -15 1234 | |
killall按名称杀死所有匹配的进程 | 中级 | killall -9 nginx | |
pkill按名称或属性匹配并发送信号 | 中级 | pkill -f "python script.py" | |
kill -l列出所有可用信号名称 | 中级 | kill -l | |
nohup使进程忽略挂断信号并继续运行 | 中级 | nohup long-running.sh & | |
disown从 shell 作业表中移除作业 | 中级 | disown %1 | |
bg将暂停的作业放到后台运行 | 基础 | bg %2 | |
fg将后台作业调回前台 | 基础 | fg %1 | |
jobs列出当前 shell 的后台作业 | 基础 | jobs -l | |
timeout在指定时长后终止命令 | 中级 | timeout 30 ./long-task.sh |
优先级(4)
| 命令 | 难度 | ||
|---|---|---|---|
nice以指定优先级启动进程 | 中级 | nice -n 10 ./backup.sh | |
renice调整运行中进程的优先级 | 中级 | renice -n 5 -p 1234 | |
taskset设置或查看进程的 CPU 亲和性 | 高级 | taskset -pc 0-3 1234 | |
ionice设置或查看进程的 I/O 调度优先级 | 高级 | ionice -c 2 -n 7 -p 1234 |
常见问题
本速查表数据整理自各工具官方文档。最后更新: 2026-07-17。