【问题标题】:List all threads列出所有线程
【发布时间】:2015-11-20 17:12:45
【问题描述】:

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

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

或者也许有类似 /dev/fd 的东西,但用于线程。

任何我可以用来了解有多少其他线程正在运行的信息。

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

【问题讨论】:

标签: c unix pthreads posix freebsd


【解决方案1】:

使用procstat(1)例如

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

这取决于libprocstat(3)

【讨论】:

  • 对不起,我应该澄清一下。我不是在寻找命令行工具,我希望在 C 中以编程方式进行。
  • @user2868331看/usr/src/usr.bin/procstat/procstat_threads.c.
猜你喜欢
  • 2020-05-09
  • 1970-01-01
  • 1970-01-01
  • 2015-12-14
  • 1970-01-01
  • 1970-01-01
  • 2011-09-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多