Python Glossary English

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

os.WIFSIGNALED

os — разбор статуса (W*)

Проверяет, был ли процесс завершён сигналом. Доступно на Unix.

Синтаксис

os.WIFSIGNALED(...)

Истинна, если процесс убит сигналом — например, kill, нехваткой памяти (SIGKILL) или ошибкой сегментации. Номер сигнала даёт WTERMSIG, имя — signal.Signals(n).name. В оболочке такой процесс обычно показывает код 128 плюс номер сигнала, а в Python — отрицательный номер.

Примеры

import os
print(os.WIFSIGNALED(9))   # → True — младшие 7 бит статуса хранят номер сигнала (9 = SIGKILL)
print(os.WIFSIGNALED(0))   # → False — статус 0 означает нормальный выход с кодом 0
pid, status = os.wait()   # → ? только Unix: дождаться любого дочернего процесса и получить его статус
print(os.WTERMSIG(status) if os.WIFSIGNALED(status) else os.WEXITSTATUS(status))   # → ? только Unix: типовая развилка — номер убившего сигнала или код выхода
print(os.WIFSIGNALED(0x137f))   # → False — процесс не завершён, а лишь остановлен; это случай WIFSTOPPED

См. также

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