Open In App

Python | os.sched_getaffinity() method

OS module in Python provides functions for interacting with the operating system. OS comes under Python’s standard utility modules. This module provides a portable way of using operating system dependent functionality.

os.sched_getaffinity() method in Python is used to get the set of CPUs on which the process with the specified process id is eligible to run.



Note: This method is only available on some UNIX platforms.

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.

Code: Use of os.sched_getaffinity() method




# 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)

Output:
{0, 1, 2, 3}
{0, 1}

References:

Article Tags :