在 Linux 中,进程和线程本质上是同一个东西(task),线程通常被称为“轻量级进程(LWP)”。查看线程的方法有很多,下面按常用程度给你总结。
ps 查看线程(最常用)ps -T -p <PID>
示例:
ps -T -p 1234
输出说明:
PID:进程 IDSPID:线程 ID(TID)CMD:线程名 / 命令✅ 最推荐、最清晰
top 实时查看线程top -H -p <PID>
示例:
top -H -p 1234
说明:
-H:显示线程✅ 排查高 CPU 线程非常有用
ps 查看所有线程ps -eLf
或:
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm
字段说明:
PID:进程 IDTID:线程 IDCOMM:线程名/proc 文件系统(底层方式)ls /proc/<PID>/task/
示例:
ls /proc/1234/task/
每个数字目录就是一个线程 ID(TID)
✅ 非常底层、准确
cat /proc/<PID>/task/<TID>/status
示例:
cat /proc/1234/task/1235/status
重点字段:
Tgid:线程组 ID(等于 PID)Pid:线程 ID(TID)Name:线程名htop(更直观)htop 查看线程htop
然后按:
F2 → 开启 Display threadshtop -H
✅ 图形化、交互式,非常好用
pstack(或 gdb)pstack <PID>
或:
gdb -p <PID>
(gdb) info threads
✅ 排查死锁、卡死线程
| 需求 | 推荐命令 |
|---|---|
| 查看某进程线程 | ps -T -p PID |
| 实时看线程 CPU | top -H -p PID |
| 查看所有线程 | ps -eLf |
| 底层查看 | /proc/PID/task/ |
| 图形化查看 | htop -H |
| 调试线程 | pstack / gdb |
如果你愿意,可以告诉我:
我可以给你更针对性的命令示例。