谁能告诉我如果我跑会发生什么
taskset -c 7 ./fred.x
但是在 fred.x
中,一个线程正在调用 sched_setaffinity
来绑定(bind)到核心 6?
该线程是否会获得任何 CPU 时间,还是会无限期地保持空闲状态?
最佳答案
taskset
本身会调用 sched_setaffinity()
,然后调用 execve
来运行您的命令。所以这个问题归结为“如果我在同一个线程中两次调用 sched_setaffinity()
会发生什么?”答案是,第二个调用会覆盖第一个。
因此在您的特定示例中,调用 sched_setaffinity()
的线程确实会绑定(bind)到核心 6,并且它将是可运行的。
关于linux - taskset 和 sched_setaffinity 之间的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27895484/