os.waitpid ()

os.waitpid ( pid, options )

Детали этой функции различаются в Unix и Windows.

В Unix: дождаться завершения дочернего процесса, заданного идентификатором процесса pid, и вернуть кортеж, содержащий его идентификатор процесса и индикацию состояния выхода (закодированную как для wait ()). На семантику вызова влияет значение целочисленных параметров, которое для нормальной работы должно быть равно 0.

Если pid больше 0, waitpid () запрашивает информацию о состоянии для этого конкретного процесса. Если pid равен 0, запрос предназначен для статуса любого дочернего элемента в группе процессов текущего процесса. Если pid равен -1, запрос относится к любому дочернему элементу текущего процесса. Если pid меньше -1, статус запрашивается для любого процесса в группе процессов -pid (абсолютное значение pid).

Ошибка OSError возникает со значением errno, когда системный вызов возвращает -1.

В Windows: дождаться завершения процесса, заданного идентификатором дескриптора процесса, и вернуть кортеж, содержащий pid, и его статус выхода, сдвинутый влево на 8 бит (смещение упрощает кроссплатформенное использование функции). Значение pid, меньшее или равное 0, не имеет особого значения в Windows и вызывает исключение. Значение целочисленных опций не имеет значения. pid может относиться к любому процессу, идентификатор которого известен, не обязательно дочернему процессу. Функции spawn*, вызываемые с помощью P_NOWAIT, возвращают подходящие дескрипторы процесса.

waitstatus_to_exitcode () может использоваться для преобразования статуса выхода в код выхода.

Изменено в версии 3.5: если системный вызов прерывается и обработчик сигнала не вызывает исключения, функция теперь повторяет системный вызов вместо того, чтобы вызывать исключение InterruptedError (объяснение см. в PEP 475).

Last updated