如何查看linux中进程执行情况
如何查看linux中进程执行情况详细介绍
在 Linux 中查看进程执行情况可以通过多种工具实现,以下是常用方法及操作示例:
一、静态查看进程:ps 命令
ps 命令用于显示当前进程的快照,常用参数组合:
1. 查看所有用户的进程(详细信息)
bash
aux
- 输出字段解释(以
ps aux为例):USER:进程所属用户PID:进程 ID%CPU:CPU 使用率%MEM:内存使用率VSZ:虚拟内存大小(KB)RSS:常驻内存大小(KB)TTY:终端设备(?表示无终端)STAT:进程状态(R运行,S睡眠,Z僵尸,D不可中断睡眠,+前台进程)START:启动时间TIME:累计 CPU 时间COMMAND:启动命令
2. 过滤特定进程(结合
grep)
bash
aux 关键词aux
二、动态实时监控:top 命令
top 会实时更新进程状态,按 Q 退出。
常用操作:
- 按
P:按 CPU 使用率排序(默认) - 按
M:按内存使用率排序 - 按
N:按 PID 排序 - 按
k:输入 PID 终止指定进程 - 按
u:输入用户名过滤特定用户的进程
输出字段(部分关键项):
- 顶部系统概况:
Cpu(s):CPU 使用率(us用户空间,sy内核空间,id空闲)Mem/Swap:内存和交换空间使用情况
- 进程列表:与
ps aux类似,但实时更新。
三、增强版动态监控:htop(需安装)
比 top 更直观,支持鼠标操作、进程树显示、颜色标记等。
安装:
- Debian/Ubuntu:
sudo apt-get install htop - RedHat/CentOS:
sudo yum install htop或sudo dnf install htop - Arch:
sudo pacman -S htop
使用:
直接运行 htop,操作键与 top 类似,支持用方向键选择进程,按 F9 终止进程。
四、按名称快速查找进程:pgrep/pkill
1. 查找进程 ID(
pgrep):
bash
pgrep 进程名pgrep 用户名
例:查找所有 nginx 进程的 PID:
bash
pgrep nginx
2. 终止进程(
pkill,比
kill 更便捷):
bash
进程名进程名
五、查看进程树:pstree
显示进程的父子关系,直观呈现进程层级:
bash
pstreepstree
例:以树状图显示所有进程(含 PID):
bash
pstree
六、查看网络相关进程:netstat/ss
1. 查看端口占用(
netstat,需
net-tools 包):
bash
-t:TCP 协议,-u:UDP,-n:数字形式显示端口,-l:监听状态,-p:显示进程 PID 和名称。
2. 更高效的
ss(推荐,属于
iproute2 包):
bash
ss :8080
七、查看进程打开的文件:lsof
bash
PID:端口
例:查看 PID 为 1234 的进程打开的文件:
bash
八、其他工具
vmstat:监控系统整体资源(CPU、内存、磁盘等),非直接针对进程。dstat:多功能系统统计工具,可结合进程资源使用。systemd-cgtop(systemd 环境):按控制组(cgroup)查看进程资源占用。
总结流程
- 快速定位进程:先用
pgrep或ps + grep找到 PID。 - 实时监控:用
top/htop观察资源变化。 - 分析关系:用
pstree查看进程依赖,lsof查看文件 / 端口占用。 - 终止进程:用
pkill或top中的k操作。
根据具体需求选择工具,日常监控推荐 htop,脚本自动化推荐 ps + grep 或 pgrep。