📜  Python| os.sched_getaffinity() 方法

📅  最后修改于: 2022-05-13 01:54:18.345000             🧑  作者: Mango

Python| os.sched_getaffinity() 方法

Python中的OS 模块提供了与操作系统交互的功能。操作系统属于 Python 的标准实用程序模块。该模块提供了一种使用操作系统相关功能的可移植方式。

Python中的os.sched_getaffinity()方法用于获取具有指定进程 ID 的进程有资格在其上运行的 CPU 集合。

注意:此方法仅在某些 UNIX 平台上可用。

代码: os.sched_getaffinity() 方法的使用
# Python program to explain os.sched_getaffinity() method  
  
# importing os module 
import os
  
  
# Get the set of CPUs
# on which the calling process
# is eligible to run.
  
# 0 as pid represents the
# calling process
pid = 0
affinity = os.sched_getaffinity(pid)
  
# Print the result
print(affinity)
  
  
# Change the CPU affinity mask
# of the calling process
# using os.sched_setaffinity() method
  
# Below CPU affinity mask will
# restrict a process to only
# these 2 CPUs (0, 1) i.e process can
# run on these CPUs only
affinity_mask = {0, 1}
pid = 0
os.sched_setaffinity(0, affinity_mask)
  
  
# Now again, Get the set of CPUs
# on which the calling process
# is eligible to run.
pid = 0
affinity = os.sched_getaffinity(pid)
  
# Print the result
print(affinity)
输出:
{0, 1, 2, 3}
{0, 1}

参考:

  • https://文档。 Python.org/3/library/os.html#os.sched_getaffinity
  • https://linux.die.net/man/2/sched_getaffinity