是否可以获得当前在逻辑核心(例如逻辑核心0)上运行的线程的TID?这在内核空间中很容易做到,但我不确定如何从用户空间获取线程信息。
答案1
使用 procps' ps
,可以通过“PSR”列执行此操作:
ps -Leo stat,psr,comm
某些任务可能会处于睡眠状态或以其他方式取消安排。您可以过滤和排序仅按逻辑 CPU 排序的正在运行的任务,如下所示:
ps r -Leo stat,psr,comm | sort -nk2
由于ps
的迭代/proc
可能跨越量程,因此您可能会看到多个任务报告为在同一 CPU 上运行。