linux进程快照命令
linux进程快照命令详细介绍
在 Linux 系统中,获取进程快照(即当前系统中运行进程的状态信息)可以通过多种命令实现,以下是常用的工具及用法:
1.
ps:最常用的进程快照命令
ps(Process Status)用于显示当前进程的静态快照,可列出进程的 PID、用户、资源占用等信息。
常用选项:
ps aux(BSD 风格):显示所有用户的进程,包含 CPU、内存占用等详细信息。
bashPID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot ? Ss 04:12 :00 /sbin/init
%CPU:CPU 使用率%MEM:内存使用率STAT:进程状态(S = 睡眠,R = 运行,Z = 僵尸进程等)
ps -ef(System V 风格):显示进程的完整信息,包括父进程 PID(PPID)和启动命令。
bashPID C STIME TTY TIME CMDroot 04:12 ? 00:00:00 /sbin/init
- 过滤特定进程(如查找名为
nginx的进程):
bashaux nginx
2.
top / htop:动态进程监控(实时快照)
top:实时动态显示进程状态,默认按 CPU 使用率排序,支持交互操作(按q退出)。htop(需安装,通常在软件源中):更友好的交互式界面,支持鼠标操作、进程树查看、内存 / CPU 图表等。bashdnf
3.
lsof:查看进程打开的文件 / 网络连接
用于列出所有打开的文件及其关联的进程,可排查端口占用、文件句柄等问题。
- 显示特定进程(PID 为 1234)打开的文件:bash
- 显示占用端口 80 的进程:bash
:80
4.
netstat / ss:网络相关进程快照
netstat -anp:显示所有网络连接及其所属进程(需 root 权限)。bashtcp .0.0:22 .0.0:* LISTEN /sshdss -tunp(更高效的替代工具):显示 TCP/UDP 连接及进程。
5.
pstree:进程树状结构快照
以树状形式显示进程的父子关系,直观查看进程层次。
bash
pstree
6.
pgrep / pkill:快速查找 / 操作进程
pgrep nginx:查找名称包含nginx的进程 PID。pkill -9 firefox:强制终止名为firefox的进程。
总结:
- 基础快照:使用
ps aux或ps -ef获取静态进程列表。 - 实时监控:用
top或htop动态查看进程状态。 - 文件 / 网络关联:通过
lsof、netstat或ss查看进程关联的资源。 - 进程关系:用
pstree查看进程树结构。
根据具体需求(如排查资源占用、网络问题或进程依赖),选择合适的工具即可快速获取进程快照。