Verwenden Sie sched_setaffinity auf Prozessebene oder pthread_attr_setaffinity_np für einzelne Threads.
Sie müssen sched_setaffinity(2)
verwenden .
Zum Beispiel, um nur auf den CPUs 0 und 2 zu laufen:
#define _GNU_SOURCE
#include <sched.h>
cpu_set_t mask;
CPU_ZERO(&mask);
CPU_SET(0, &mask);
CPU_SET(2, &mask);
int result = sched_setaffinity(0, sizeof(mask), &mask);
(0
denn der erste Parameter bedeutet den aktuellen Prozess, geben Sie eine PID an, wenn Sie einen anderen Prozess steuern möchten).
Siehe auch sched_getcpu(3)
.