在 CentOS 系统中,查看进程信息是系统管理的基础操作之一,通过掌握多种工具的使用方法,可高效获取进程的运行状态、资源占用等关键数据,以下是常用的进程查看方式及细节说明:
ps
命令:静态查看进程快照
ps
是 Linux 系统中最基础的进程查看工具,用于显示当前时刻的进程状态(非实时更新),常用参数组合如下:
参数组合 | 功能描述 | 示例命令 | 输出说明 |
---|---|---|---|
ps aux | 显示所有用户的所有进程 | ps aux | 包含 PID、USER、%CPU、%MEM、VSZ、RSS、TTY、STAT、START、TIME、COMMAND 等字段 |
ps -ef | 显示所有进程的完整信息 | ps -ef | 包含 UID、PID、PPID、C、STIME、TTY、TIME、CMD 等字段 |
ps -eo format | 自定义输出格式 | ps -eo pid,cmd,%cpu | 仅显示 PID、命令行、CPU 占用率 |
技巧:结合 grep
过滤特定进程,如 ps aux | grep nginx
查看 Nginx 进程。
top
命令:动态实时监控进程
top
以全屏交互式界面展示进程信息,默认每 3 秒刷新一次,适合实时监控系统负载和进程状态,启动后可通过快捷键调整显示内容:
核心指标解读:
- 第一行:系统时间、运行时长、登录用户数、负载平均值(1/5/15 分钟);
- 第二行:进程总数、运行态/休眠态/停止态/僵尸态进程数;
- 第三行:CPU 使用情况(user/user nice/system/idle/iowait/irq/softirq/stolen);
- 第四行:内存使用(物理内存总量/已用/空闲/缓冲区);
- 第五行:交换空间使用(总量/已用/空闲)。
交互操作:
- 按
P
:按 CPU 占用率排序; - 按
M
:按内存占用率排序; - 按
k
:终止指定 PID 的进程(输入 PID 后确认); - 按
h
:显示帮助菜单。
- 按
htop
命令:增强版可视化监控
htop
是 top
的进阶替代品,提供更友好的界面(支持鼠标操作)和更多功能:
- 安装:
yum install htop
(若未预装); - 启动:直接执行
htop
; - 特色功能:
- 可横向滚动查看完整命令行;
- 支持进程树视图(按
t
切换); - 可过滤进程(按 输入关键词);
- 支持杀死进程组(按
k
选择“Kill with signal”)。
pgrep
与 pkill
:基于名称或属性的进程管理
pgrep
:根据名称/用户 ID 等属性查找进程 PID,pgrep -u root nginx # 查找 root 用户下名为 nginx 的进程 PID
pkill
:根据名称/属性终止进程,pkill -9 httpd # 强制终止所有 httpd 进程(信号 9 为强制 kill)
pstree
:以树状结构查看进程关系
pstree
直观展示进程的父子关系,便于理解服务依赖结构:
pstree -p # 显示 PID 的树状进程关系 pstree nginx # 查看 nginx 相关进程的层级结构
lsof
:查看进程打开的文件/端口
通过 lsof
可查询进程占用的文件、网络连接等资源:
lsof -i :80 # 查看 80 端口被哪个进程占用 lsof -c nginx # 查看 nginx 进程打开的所有文件
FAQs 常见问题解答
如何找到占用 CPU 最高的前 5 个进程?
使用ps aux --sort=-%cpu | head -n 6
(排除表头),或top
中按P
排序后观察。如何实时监控某个特定进程的资源使用?
结合watch
和ps
,watch -n 1 'ps -p <PID> -o %cpu,%mem,cmd'
,每秒刷新该进程的 CPU、内存占用及命令行。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复