在 Ubuntu 系统中,除了 ps
命令外,还有许多其他工具可用于查看和管理进程。以下是常用的命令及其使用场景:
1. top
命令
用途:实时动态查看系统进程和资源占用情况(类似 Windows
的任务管理器)。
top
- 常用操作:
- 按
P
:按 CPU 使用率排序。 - 按
M
:按内存使用率排序。 - 按
k
:终止指定 PID 的进程。 - 按
q
:退出。
- 按
2. htop
命令
用途:增强版 top
,支持鼠标操作和更友好的界面。
sudo apt install htop # 如果未安装,先执行安装
htop
- 常用操作:
- 鼠标左键点击表头排序。
- 按
F2
:进入设置,可自定义显示字段。 - 按
F9
:发送信号(如SIGKILL
强制终止)。
3. pgrep
命令
用途:根据进程名直接查找进程 PID。
pgrep nginx # 查找所有名为 "nginx" 的进程 PID
pgrep -u root # 查找 root 用户的所有进程 PID
pgrep -x "python3" # 精确匹配完整命令名
4. pstree
命令
用途:以树状结构显示进程关系。
pstree # 显示所有进程的树状结构
pstree -p # 显示 PID
pstree -u # 显示进程所有者
5. kill
和 killall
命令
用途:终止进程。
kill -9 1234 # 通过 PID 强制终止进程
killall -9 nginx # 通过进程名强制终止所有 "nginx" 进程
- 常用信号:
-9
或-SIGKILL
:强制终止。-15
或-SIGTERM
:默认终止信号(允许进程清理)。
6. systemctl
命令
用途:管理系统服务进程(如 nginx
、mysql
)。
systemctl status nginx # 查看服务状态
systemctl start nginx # 启动服务
systemctl stop nginx # 停止服务
systemctl restart nginx # 重启服务
7. 其他工具
vmstat
:查看系统整体资源使用情况(CPU、内存、I/O 等)。iostat
:监控磁盘 I/O 性能。nmon
:综合性能监控工具(需安装)。
常用组合示例
-
查找并终止进程:
pgrep nginx | xargs kill -9 # 强制终止所有 nginx 进程
监控高 CPU 占用进程:
top -b -n 1 | head -n 17 # 静态查看 top 结果 htop --sort-key PERCENT_CPU # 按 CPU 排序
分析进程树:
pstree -p | grep -A 3 nginx # 查看 nginx 进程的子进程
根据需求选择合适的工具:ps
适合静态查看,top
/htop
适合动态监控,pgrep
/kill
适合快速操作进程。