![MacOS 上每个进程的命令行线程数](https://linux22.com/image/1408581/MacOS%20%E4%B8%8A%E6%AF%8F%E4%B8%AA%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%BA%BF%E7%A8%8B%E6%95%B0.png)
我希望能够在命令行中获取每个进程的线程数,并获得通过活动监视器看到的完全相同的数字。
目前,IntelliJ IDEA 进程 (PID 5235) 有 266 个线程。我想通过命令行获取这个数字。
我试过了
lsof -p 5235 | wc -l
有什么建议么?
答案1
请尝试以下操作:
NUM=`ps M <pid> | wc -l` && echo $((NUM-1))
我们从行数中减去 1,因为ps
在第一行输出了一个 HEADER。
答案2
这也有效:
ps M <pid> | wc -l
答案3
还可以使用tail
命令来截断ps M
输出中的标题行,例如:
ps M <pid> | tail -n+2 | wc -l
其中-n+2
选项的意思是“获取从第二行开始的所有行”