不是在C編程最好的,這是我第一次審判端口從Python中的程序C. 貸Alnitak爲下面的程序設置CPU親和力的過程 - C - Linux的
#include<sched.h>
void task_set(int pid) {
int result;
cpu_set_t mask;
CPU_ZERO(&mask);
CPU_SET(pid, &mask);
result = sched_setaffinity(0, sizeof(mask), &mask);
printf ("%d\n",result);
}
void main()
{ //excuse me for the static
task_set(1400);
}
要編譯我這樣做..
gcc -D_GNU_SOURCE -o test test.c
然而,當我嘗試回去檢查程序是使用下面的腳本運行其中:
def which_core(pid):
f = file(os.path.join('/proc', str(fpid), 'stat'), 'rb')
val = f.read()
f.close()
return int(val.split(' ')[-6])
print 'core_id',which_core(1400)
它給了我下面的輸出:
core_id 32997376
這是相當混亂......還有什麼是錯?
那是fpid的一個錯字嗎?它不應該是PID,函數的參數? –
是的,那是我犯的錯誤。 – pistal