如果我搜索计算应用程序的线程数,则所有答案都涉及top
等外部程序。我想计算应用程序本身的线程。
我无法在创建线程时添加代码,因为它发生在不可变库中。
我无法阅读/proc
。
这是一个在几个不同的Unices上运行的C / pthreads程序。
答案 0 :(得分:1)
如果您无法阅读/proc
,那么您有点麻烦,除非您的程序与另一个阅读/proc
的程序进行通信
如果您因为可移植性问题而不想阅读/ proc,您可以使用一个库来抽象一点,例如libproc
答案 1 :(得分:0)
你可以为pthread_create编写一个小包装器,它在你连接不可变库之后计算创建的线程并链接到该包装器。
答案 2 :(得分:-1)
使用top -H。但是很有可能,如果你不能阅读proc,top无论如何都行不通。如果是这样的话,没有简单的方法,这将取决于您的具体系统。