列出所有主题

use*_*331 5 c unix posix freebsd pthreads

如何在FreeBSD中列出当前进程中的所有线程?或者至少,获取运行的线程数.

我找到了Linux系统调用pstat_getproc,它返回一个包含pst_nlwps线程数的struct .我在FreeBSD上寻找类似的东西.

或者也许有一些类似于/dev/fd线程的东西.

我可以使用任何东西来了解有多少其他线程正在运行.

我希望能够在C中以编程方式执行此操作,而不是使用现有的应用程序.

小智 2

使用procstat(1)例如

# procstat -t $(pgrep openvpn)
  PID    TID COMM             TDNAME           CPU  PRI STATE   WCHAN    
  537 100051 openvpn          -                  0  120 sleep   select 
Run Code Online (Sandbox Code Playgroud)

这取决于libprocstat(3).