上一篇
Linux 中,查看进程可使用 ps、top、htop、pstree 等命令,ps 显示静态信息,如 ps aux;top 实时更新进程资源占用;htop 交互式更强;pstree 展示进程树状关系
Linux系统中,查看进程是日常管理和故障排查的重要任务,以下是几种常用的方法及其详细说明:
ps命令
ps命令是最基础且功能强大的进程查看工具,通过不同的参数组合可以获取丰富的进程信息。
| 命令 | 作用 |
|---|---|
ps |
显示当前终端下的进程(默认仅显示当前用户进程)。 |
ps -e 或 -A |
显示所有进程(包括其他用户的进程)。 |
ps -ef |
以完整格式显示所有进程,包含父进程ID(PPID)、启动时间、CPU/内存使用等。 |
ps -aux |
按用户格式显示所有进程,包含CPU和内存使用率、进程状态等。 |
ps -x |
显示无控制终端的进程(如后台进程)。 |
示例:
ps -ef | grep my_process # 过滤特定进程名
top命令
top命令提供动态更新的实时视图,适合监控资源占用情况。

- 功能特点:
- 默认每3秒刷新一次,显示CPU、内存、交换空间的使用情况。
- 支持交互式操作(如排序、终止进程)。
- 按
q退出,按h查看帮助。
输出字段说明:
| 字段 | 含义 |
|—————|——————————————–|
| PID | 进程ID |
| USER | 进程所有者用户名 |
| PR / NI | 优先级和Nice值 |
| VIRT / RES| 虚拟内存和常驻内存大小(单位KB) |
| SHR | 共享内存大小 |
| %CPU / %MEM | CPU和内存使用率 |
| TIME+ | 进程累计运行时间 |
| COMMAND | 进程名称 |
快捷键:
k:终止进程(需输入PID)。r:调整进程优先级。P/M:按CPU或内存排序。
htop命令
htop是top的增强版,提供更友好的界面和交互功能(需手动安装)。

- 优势:
- 彩色高亮显示,支持垂直/水平滚动。
- 树状视图(按
F5切换),直观展示进程层级关系。 - 直接用箭头键选择进程,按
F9删除进程。
安装方式:
# Debian/Ubuntu 系 sudo apt-get install htop # Red Hat/CentOS 系 sudo yum install htop
pstree命令
pstree以树状结构展示进程间的父子关系,适合分析进程派生逻辑。
- 常用参数:
-p:显示进程ID。-u:显示用户名。-a:附加命令行参数。
示例:
pstree -pu # 显示用户、PID及完整命令
pgrep与pkill命令
- pgrep:根据进程名查找PID。
pgrep -f "python" # 模糊匹配进程名或参数
- pkill:终止符合条件的进程。
pkill -f "my_process" # 强制终止所有相关进程
/proc文件系统
Linux的/proc目录存储了进程的详细信息,可直接查看。

- 示例:
cat /proc/$$/status # 查看当前Shell进程的状态 ls /proc/<PID>/fd # 查看进程打开的文件描述符
systemctl与service命令(针对系统服务)
用于查看系统服务的运行状态。
| 命令 | 作用 |
|---|---|
systemctl status <service> |
查看systemd服务的详细状态 |
service <service> status |
查看老式init系统的服务状态 |
示例:
systemctl status nginx # 查看Nginx服务状态
FAQs
如何终止一个进程?
- 使用
kill命令(需提供PID):kill <PID> # 默认发送SIGTERM信号 kill -9 <PID> # 强制终止(SIGKILL)
- 或通过
pkill直接匹配进程名:pkill -f "process_name"
如何查看某个进程的详细资源占用(如IO、网络)?
- 使用
pidstat命令监控特定进程:pidstat -p <PID> # 显示CPU、内存、IO等指标
- 或结合
iostat、netstat分析系统级资源
