jco*_*ado 67
要获取给定 pid 的线程数:
ps -o nlwp <pid>
Run Code Online (Sandbox Code Playgroud)
获取系统中运行的所有线程的总和:
ps -eo nlwp | tail -n +2 | awk '{ num_threads += $1 } END { print num_threads }'
Run Code Online (Sandbox Code Playgroud)
我的回答基于ps axms. ps是列出正在运行的内容的好工具。
如果你想通过一个过程来过滤它,你可以尝试这样的事情:
echo $(( `ps axms | grep firefox | wc -l` - 1))
Run Code Online (Sandbox Code Playgroud)
我们减去 1,因为 grep 将显示在该列表中。
一般来说,对于所有线程,这应该有效:
echo $(( `ps axms | wc -l` - 1))
Run Code Online (Sandbox Code Playgroud)
这次我们减一,因为有标题行。