OSX - 如何查看进程中所有线程的TID?

时间:2015-01-20 14:21:52

标签: macos pthreads pid

在Linux上ps -eLf | grep my-process-name给出了我的进程中的线程列表以及每个线程的TID。

在OSX上ps -M pid为我提供了线程列表,但没有显示每个线程的TID。

如何从命令行查看单个进程下的线程TID?

2 个答案:

答案 0 :(得分:4)

使用ps列出所有可能的列选项时,您无法在Mac OS上看到使用ps L的TID。

无论如何,如果你不介意将线程作为根探索,你可以使用dtruss,它主要用于处理系统调用细节,但它至少会显示PID / LWPID中的TID (PID / THRD )专栏。

sudo dtruss -ap pid

答案 1 :(得分:0)

好吧,虽然我意识到它可能被某些人认为是亵渎神灵,但跨平台 Powershell 现在可用于 macOS,查看线程 ID 非常简单。这将起作用:

Get-Process -Id 1234 | Select-Object Threads

它会为每个适用的线程吐出一个包含大约 10 个属性的对象。其中之一是“Id”。你也可以这样做:

gps -Id 1234 | select -Expand Threads | select -Expand Id

如果您想缩短命令,然后取回 Id。