我怎么知道进程正在运行哪个核心?

ter*_*ry 4 c linux process smp

我目前正在开发一个关于在linux环境中将进程设置为一个核心的项目.我使用sched_setaffinity来完成这项工作,我想知道linux是否提供了一些函数来获取进程运行的核心.我使用top命令,发现它可以使用j选项获取此信息.所以我相信有一些方法可以在用户空间中获取此信息.

lla*_*ram 5

你可能想要sched_getcpu().如果您运行的是较旧版本的glibc,则可以阅读/proc/[pid]/stat相应pid 的第39个字段- proc(5)有关更多详细信息,请参见手册页.