是否有任何linux函数调用通过传递线程ID来获取特定线程的CPU使用率?

是否有任何linux函数调用通过传递线程ID来获取特定线程的CPU使用率?,c,linux,pthreads,C,Linux,Pthreads,是否有任何直接的linux函数调用通过传递线程ID来获取特定线程在运行时的CPU使用率? 如果不是函数调用,是否有其他可能的方法来实现相同的功能 我有一个用c编写的应用程序,它运行在linux平台上。它有多个线程并行运行。其中我需要确定每个线程的CPU使用情况。为此,我需要通过一个系统调用来增强我的代码,该系统调用为特定线程提供CPU使用率。考虑到我在运行时已经准备好了一个结构中的所有线程ID。 ,您可以获得如下特定进程的CPU使用率: ps -p <pid> -o %cpu 您

是否有任何直接的linux函数调用通过传递线程ID来获取特定线程在运行时的CPU使用率? 如果不是函数调用,是否有其他可能的方法来实现相同的功能


我有一个用c编写的应用程序,它运行在linux平台上。它有多个线程并行运行。其中我需要确定每个线程的CPU使用情况。为此,我需要通过一个系统调用来增强我的代码,该系统调用为特定线程提供CPU使用率。考虑到我在运行时已经准备好了一个结构中的所有线程ID。

,您可以获得如下特定进程的CPU使用率:

 ps -p <pid> -o %cpu
您也可以在系统调用中传递上述命令


如果您想对每个线程正在做的事情做出相对简单的估计,还可以查看一个函数,该函数用于获取名为

的当前进程利用率,而不知道您正在查找的信息的数量和深度。使用保存的线程ID获取每个线程的时钟ID,然后使用时钟ID为每个线程调用
clock\u gettime
。手册页上有一个很好的示例程序


否则,我认为您将进入/proc领域。

我认为此链接将帮助您。谢谢你的回复。这真的很有帮助。
ps -p <pid> -o %cpu | tail -n +2