все 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Сообщить о неточности