在Linux上,ps -eLf | grep my-process-name给出了我的进程中线程的列表,以及每个线程的TID。
在OSX上,ps -M pid给出了线程的列表,但没有显示每个线程的TID。
如何从命令行查看单个进程下的线程TID?
发布于 2015-01-21 05:22:33
在Mac上,您看不到使用ps的TID,因为您可以使用ps L列出所有可能的列选项。
无论如何,如果您不介意以根目录探索线程,您可以使用dtruss,它主要用于处理syscall细节,但它至少会在PID/LWPID (PID/THRD)列中显示PID。
sudo dtruss -ap pid发布于 2021-07-29 01:19:21
好吧,虽然我意识到这可能被认为是对某些人的亵渎,但是跨平台的Powershell现在可以用于macOS,并且用它来查看线程ids是相当微不足道的。这将会起作用:
Get-Process -Id 1234 | Select-Object Threads它将为每个包含大约10个属性的适用线程返回一个对象。其中之一是“Id”。您还可以执行以下操作:
gps -Id 1234 | select -Expand Threads | select -Expand Id如果您想缩短命令时间,只需恢复Ids即可。
https://stackoverflow.com/questions/28047653
复制相似问题