import win32api, win32con, win32process
pid = 20280
mask = 224
handle = win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS, True, pid)
win32process.SetProcessAffinityMask(handle, mask)
先获取进程的pid并填入代码的pid处,再根据下面的说明获取mask的参数并填入上面的mask变量处,上面的224代表同时用第6、第7、第8个核心。
第一个核心用1表示
第二个核心用2表示
第三个核心用4表示
第四个核心用8表示
第五个核心用16表示
第六个核心用32表示
第七个核心用64表示
第八个核心用128表示
以此类推,如果有更多核心,那就每次在前一个核心的基础上乘以2
如果只使用第一个核心,根据上面的数字所示,第一个核心对应的是1,那mask的参数就是1.
如果只使用第二个核心,那mask的参数是2.
如果只使用第三个核心,那mask的参数是4.
如果要同时使用第一到第三个核心,那就把第一、第二以及第三个核心对应的数字相加,也就是1+2+4=7,所以mask的参数是7.
如果要同时使用第六到第八个核心,那就把第六、第七以及第八个核心对应的数字相加,也就是32+64+128=224,所以mask的参数是224.
如果要恢复默认,也就是同时使用所有核心,那就是把所有核心对应的数字相加。1+2+4+8+16+32+64+128=255,所以mask的参数是255