查看进程和线程的方法取决于你使用的操作系统。下面分别介绍 Linux / Unix-like 和 Windows 下常用的方法,并给出常见示例。
ps(最常用)ps aux
a:显示所有用户的进程u:显示用户等信息x:显示无终端的进程只查看某个进程:
ps aux | grep nginx
top(动态查看)top
q 退出htop(推荐,更直观)htop
需要安装:
sudo apt install htop或yum install htop
ps -T(查看指定进程的线程)ps -T -p <PID>
示例:
ps -T -p 1234
字段说明:
PID:进程 IDSPID:线程 ID(LWP)top -H(线程级查看)top -H -p <PID>
可以看到某个进程内每个线程的 CPU 占用。
/proc 文件系统ls /proc/<PID>/task
每个子目录就是一个线程。
pstree(树状结构)pstree -p <PID>
或查看所有:
pstree -p
| 工具 | 适合场景 |
|---|---|
ps aux |
查看进程列表 |
ps -T |
查看进程内线程 |
top / htop |
实时资源占用 |
/proc |
底层调试 |
pstree |
进程/线程关系 |
Ctrl + Shift + Esctasklist(命令行)tasklist
查看指定进程:
tasklist | findstr chrome
tasklist 查看线程tasklist /fi "PID eq 1234"
wmicwmic process where "ProcessId=1234" get ThreadCount
top -H -p <PID>
然后结合 jstack(Java)、gdb 等工具分析。
如果你能告诉我:
我可以给你更针对性的命令和实战示例。