Python Glossary English

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

os.WTERMSIG

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

Извлекает номер сигнала, завершившего процесс. Доступно на Unix.

Синтаксис

os.WTERMSIG(...)

Имеет смысл только после истинного WIFSIGNALED. Номер удобно превратить в имя: signal.Signals(os.WTERMSIG(status)).name даст, например, 'SIGTERM'. Сигнал 9 (SIGKILL) нельзя перехватить, поэтому у программы не было шанса что-либо сохранить перед завершением.

Примеры

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

См. также

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