Сообщить об ошибке.

Наследование файловых дескрипторов

Файловый дескриптор имеет "наследуемый" флаг, который указывает, может ли файловый дескриптор наследоваться дочерними процессами. Начиная с Python-3.4, файловые дескрипторы, созданные Python, по умолчанию не наследуются.

В UNIX не наследуемые файловые дескрипторы закрываются в дочерних процессах при выполнении новой программы, другие файловые дескрипторы наследуются.

В Windows не наследуемые дескрипторы и дескрипторы файлов закрываются в дочерних процессах, за исключением стандартных потоков (дескрипторы файлов 0, 1 и 2: stdin, stdout и stderr), которые всегда наследуются. Используя функции spawn*, все наследуемые дескрипторы и все наследуемые файловые дескрипторы наследуются. При использовании модуля subprocess все файловые дескрипторы, кроме стандартных потоков, закрываются, а наследуемые дескрипторы наследуются, только если для параметра close_fds установлено значение False.

os.get_inheritable(fd):

Функция os.get_inheritable() получает флаг "наследования" (логическое значение) указанного дескриптора файла fd.

os.set_inheritable(fd, inheritable):

Функция os.set_inheritable() устанавливает флаг "наследования" указанного дескриптора файла fd. Атрибут inheritable - логическое значение

os.get_handle_inheritable(handle):

Функция os.get_handle_inheritable() получает флаг "наследования" (логическое значение) указанного дескриптора handle.

Поддеожка: Windows.

os.set_handle_inheritable(handle, inheritable):

Функция os.set_handle_inheritable() устанавливает флаг "наследования" указанного дескриптора handle. Атрибут inheritable - логическое значение

Поддеожка: Windows.