上一篇                     
               
			  linux 如何看进程
- Linux
- 2025-07-14
- 3794
 Linux中,查看进程可使用ps、top、htop等命令,ps aux显示所有进程详细信息,top实时查看进程资源占用情况
 
Linux系统中,查看进程是日常管理和故障排查的重要操作,以下是几种常用的方法及其详细说明:
ps命令:基础与灵活的进程查看工具
ps命令是最基础的进程查看工具,通过不同的参数组合可以获取丰富的进程信息。
| 常用参数 | 功能描述 | 示例命令 | 
|---|---|---|
| ps | 显示当前终端下的进程 | ps | 
| -e | 显示所有进程(包括其他用户) | ps -e | 
| -f | 显示完整格式(包含父进程ID) | ps -ef | 
| -u | 按用户筛选进程 | ps -u root | 
| -aux | 显示所有进程的详细信息(用户、CPU、内存等) | ps -aux | 
字段解析(以ps -aux为例):
- USER: 进程所有者
- PID: 进程ID
- %CPU: CPU占用率
- %MEM: 内存占用率
- VSZ: 虚拟内存大小
- RSS: 物理内存占用
- TTY: 终端类型(表示无终端)
- STAT: 进程状态(如R运行、S睡眠、Z僵尸)
- START: 启动时间
- TIME: 累计CPU时间
- COMMAND: 启动命令
top命令:实时动态监控
top命令以动态更新的方式显示进程资源占用情况,默认每3秒刷新一次。
关键信息:
- Tasks: 总进程数、运行/休眠/停止/僵尸进程数
- CPU使用: 用户态(us)、系统态(sy)、空闲(id)等占比
- 内存和交换空间: 总内存、已用/空闲内存及交换区
- 进程列表: PID、用户、CPU%、内存%、状态、启动时间、命令
交互操作:

- q: 退出
- h: 显示帮助
- k: 终止进程(需输入PID)
- r: 调整进程优先级(- RENICE)
- P: 按CPU或内存排序
htop与btop:增强版可视化工具
htop和btop是top的升级版本,提供更友好的界面和交互功能。
| 特性 | htop | btop | 
|---|---|---|
| 彩色高亮 | 支持 | 支持 | 
| 垂直/水平滚动 | 支持 | 支持 | 
| 树状视图 | 支持 | 部分支持 | 
| 自定义列 | 支持 | 支持 | 
| 进程搜索 | 支持 | 支持 | 
安装示例:
# Debian/Ubuntu sudo apt install htop # CentOS/RHEL sudo yum install htop
pstree:进程树状结构
pstree以树形结构展示进程间的父子关系,适合分析进程派生逻辑。
常用参数:

- -p: 显示进程ID
- -u: 显示用户名
- -a: 显示完整命令行
示例输出:
init─┬─apache2
     ├─sshd
     └─{nginx}
         ├─www-data
         └─root 
pgrep与pkill:按名称过滤进程
- pgrep: 根据进程名获取PID pgrep -f "python" # 模糊匹配命令行包含python的进程 
- pkill: 根据名称终止进程 pkill -9 my_process # 强制终止指定进程 
/proc文件系统:深入进程细节
每个进程在/proc目录下有一个同名子目录(如/proc/1234),包含以下关键文件:
- status: 进程状态(如内存、CPU使用)
- cmdline: 启动命令行参数
- fd/: 文件描述符列表
- maps: 内存映射信息
示例:
cat /proc/$(pgrep nginx)/status # 查看nginx进程状态
systemctl与service:管理系统服务
针对系统服务(如nginx、ssh),可通过以下命令查看状态:

systemctl status nginx # systemd系统 service ssh status # 老式init系统
FAQs
如何终止一个顽固的进程?
若普通kill无效,可尝试:
kill -9 PID # 强制终止
或使用pkill:
pkill -9 -f "process_name"
ps aux和ps -ef有什么区别? 
- ps aux:以用户为中心,显示所有用户的进程,包含终端信息(- TTY)。
- ps -ef:以完整格式显示,包含父进程ID(- PPID)和启动时间
 
  
			 
			