Python Glossary English

все Python 3Linux · macOSosфункция

os.wait4

os — ожидание процессов

Как waitpid, но дополнительно возвращает rusage. Доступно на Unix.

Синтаксис

os.wait4(...)

Ждёт конкретного потомка и возвращает расход его ресурсов — удобно, чтобы узнать пиковую память или процессорное время запущенной программы без внешних утилит. Единицы ru_maxrss на Linux — килобайты, на macOS — байты. Флаг WNOHANG работает так же, как у waitpid.

Примеры

import os
if os.fork() == 0: os._exit(7)  # → ? только Unix: ребёнок завершается кодом 7, родитель продолжает скрипт
child, status, rusage = os.wait4(-1, 0)  # pid=-1 — дождаться любого ребёнка; options=0 — блокирующе
print(child, os.waitstatus_to_exitcode(status))  # → ? только Unix: pid ребёнка и 7, например «12346 7»
print(rusage.ru_utime)  # → ? только Unix: пользовательское процессорное время ребёнка в секундах, например 0.002 — os.waitpid такого не даёт
print(os.wait4(-1, 0))  # → ChildProcessError — статус уже забран, второй раз его не получить

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности