Python| os.sched_getaffinity() 方法
Python中的OS 模块提供了与操作系统交互的功能。操作系统属于 Python 的标准实用程序模块。该模块提供了一种使用操作系统相关功能的可移植方式。
Python中的os.sched_getaffinity()
方法用于获取具有指定进程 ID 的进程有资格在其上运行的 CPU 集合。
注意:此方法仅在某些 UNIX 平台上可用。
Syntax: os.sched_getaffinity(pid)
Parameter:
pid: The process id of the process whose CPU affinity mask is required. Process’s CPU affinity mask determines the set of CPUs on which it is eligible to run.
A pid of 0 represents the calling process.
Return Type: This method returns a set object which represents the CPUs, on which the process with the specified process id is eligible to run.
代码: 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