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