获取CPU上运行的线程的TID

获取CPU上运行的线程的TID

是否可以获得当前在逻辑核心(例如逻辑核心0)上运行的线程的TID?这在内核空间中很容易做到,但我不确定如何从用户空间获取线程信息。

答案1

使用 procps' ps,可以通过“PSR”列执行此操作:

ps -Leo stat,psr,comm

某些任务可能会处于睡眠状态或以其他方式取消安排。您可以过滤和排序仅按逻辑 CPU 排序的正在运行的任务,如下所示:

ps r -Leo stat,psr,comm | sort -nk2

由于ps的迭代/proc可能跨越量程,因此您可能会看到多个任务报告为在同一 CPU 上运行。

相关内容