温馨提示×

如何查看进程线程

小樊
33
2026-08-31 10:11:43
栏目: 编程语言

查看进程线程的方法取决于你使用的操作系统。下面分别介绍 Linux / Unix-likeWindows 下常用的方法,并给出常见示例。


一、Linux / Unix-like 系统

1️⃣ 查看进程

ps(最常用)

ps aux
  • a:显示所有用户的进程
  • u:显示用户等信息
  • x:显示无终端的进程

只查看某个进程:

ps aux | grep nginx

top(动态查看)

top
  • 显示进程 CPU / 内存占用
  • q 退出

htop(推荐,更直观)

htop

需要安装:sudo apt install htopyum install htop


2️⃣ 查看线程

ps -T(查看指定进程的线程)

ps -T -p <PID>

示例:

ps -T -p 1234

字段说明:

  • PID:进程 ID
  • SPID:线程 ID(LWP)

top -H(线程级查看)

top -H -p <PID>

可以看到某个进程内每个线程的 CPU 占用。


/proc 文件系统

ls /proc/<PID>/task

每个子目录就是一个线程。


pstree(树状结构)

pstree -p <PID>

或查看所有:

pstree -p

3️⃣ 进程与线程关系总结

工具 适合场景
ps aux 查看进程列表
ps -T 查看进程内线程
top / htop 实时资源占用
/proc 底层调试
pstree 进程/线程关系

二、Windows 系统

1️⃣ 查看进程

✅ 任务管理器

  • Ctrl + Shift + Esc
  • “进程” 标签

tasklist(命令行)

tasklist

查看指定进程:

tasklist | findstr chrome

2️⃣ 查看线程

✅ 任务管理器(线程数)

  • 任务管理器 → 详细信息
  • 右键列 → 勾选 “线程数”

tasklist 查看线程

tasklist /fi "PID eq 1234"

wmic

wmic process where "ProcessId=1234" get ThreadCount

✅ Process Explorer(强烈推荐)

  • 微软官方工具
  • 可查看每个线程、CPU、堆栈
  • 下载:https://learn.microsoft.com/sysinternals/downloads/process-explorer

三、常见问题

❓ 进程和线程怎么区分?

  • 进程:资源分配单位
  • 线程:CPU 调度单位
  • 一个进程可以有多个线程

❓ 如何快速定位高 CPU 的线程?

top -H -p <PID>

然后结合 jstack(Java)、gdb 等工具分析。


如果你能告诉我:

  • ✅ 使用的系统(Linux / Windows / macOS)
  • ✅ 是排查性能问题、调试程序,还是单纯学习

我可以给你更针对性的命令和实战示例

0