当前位置:首页 > Linux > 正文

linux如何查看进程

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 显示无控制终端的进程(如后台进程)。

示例

top命令

top命令提供动态更新的实时视图,适合监控资源占用情况。

  • 功能特点
    • 默认每3秒刷新一次,显示CPU、内存、交换空间的使用情况。
    • 支持交互式操作(如排序、终止进程)。
    • 按 q 退出,按 h 查看帮助。

输出字段说明

| 字段 | 含义 |

|—————|——————————————–|

| PID | 进程ID |

| USER | 进程所有者用户名 |

| PR / NI | 优先级和Nice值 |

| VIRT / RES| 虚拟内存和常驻内存大小(单位KB) |

| SHR | 共享内存大小 |

| %CPU / %MEM | CPU和内存使用率 |

| TIME+ | 进程累计运行时间 |

| COMMAND | 进程名称 |

快捷键

linux如何查看进程 第1张

  • k:终止进程(需输入PID)。
  • r:调整进程优先级。
  • P / M:按CPU或内存排序。

htop命令

htoptop的增强版,提供更友好的界面和交互功能(需手动安装)。

  • 优势
    • 彩色高亮显示,支持垂直/水平滚动。
    • 树状视图(按 F5 切换),直观展示进程层级关系。
    • 直接用箭头键选择进程,按 F9 删除进程。

安装方式

# Debian/Ubuntu 系 sudo apt-get install htop # Red Hat/CentOS 系 sudo yum install htop

pstree命令

pstree以树状结构展示进程间的父子关系,适合分析进程派生逻辑。

linux如何查看进程 第2张

  • 常用参数
    • -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 分析系统级资源

linux如何查看进程 第3张

0