Open In App

Python | os.set_inheritable() 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.set_inheritable() method in Python is used to set the value of inheritable flag of the specified file descriptor.



Inheritable flag of a file descriptor tells that if it can be inherited by the child processes or not. For example: if the parent process has a file descriptor 4 in use for a particular file and parent creates a child process then the child process will also have file descriptor 4 in use for that same file, if the inheritable flag of the file descriptor 4 in the parent process is set.

Syntax: os.set_inheritable(fd, inheritable)



Parameter:
fd: A file descriptor whose inheritable flag is to be set.
inheritable: An integer or a Boolean value representing the new value of inheritable flag.

Return Type: This method does not return any value.

Code: Use of os.set_inheritable() method to set the “inheritable” flag of the given file descriptor.




# Python program to explain os.set_inheritable() method  
  
# importing os module 
import os
  
# File path
path = "/home/ihritik/Desktop/file.txt"
  
# Open the file and get 
# the file descriptor associated
# with it using os.open() method 
fd = os.open(path, os.O_RDWR | os.O_CREAT)
  
  
# Print the current value of
# inheritable flag of the 
# file descriptor fd using
# os.get_inheritable() method
print("Current value of inheritable flag:", os.get_inheritable(fd))
  
# Change the inheritable flag 
# of the file descriptor fd 
# using os.set_inheritable() method
inheritable = True
os.set_inheritable(fd, inheritable)
print("Inheritable flag modified")
  
  
# Print the modified value of
# inheritable flag of the 
# file descriptor using
# os.get_inheritable() method
print("Current value of inheritable flag:", os.get_inheritable(fd))

Output:
Current value of inheritable flag: False
Inheritable flag modified
Current value of inheritable flag: True
Article Tags :