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