上一篇                     
               
			  linux如何查看进程
- Linux
- 2025-07-14
- 3482
 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分析系统级资源
 
  
			 
			 
			 
			