0

我相信不存在便携式解决方案。在 linux 上,我们查看 /proc//task/,在 darwin 上我们使用 task_threads()。FreeBSD 怎么样?

4

2 回答 2

0

似乎 kvm_getprocs 是答案。

于 2013-07-10T15:35:08.197 回答
0

melisgl 是正确的——但前提是您使用的是默认线程实现,其中进程的线程是“内核可见的”。(还有其他实现,例如 pth,这可能不是真的。)

使用 KERN_PROC_PID|KERN_PROC_INC_THREAD(未经测试)使用 kvm_getprocs() 计算进程的内核可见线程。但是使用该功能可能需要root权限:(

于 2013-08-05T16:59:38.193 回答