all Python 3Linux · macOSosfunction
os.WIFSIGNALED
os — status decoding (W*)
Test whether a child was terminated by a signal. Availability: Unix.
Syntax
os.WIFSIGNALED(...)
It is true if the process was killed by a signal — say, by kill, the out-of-memory killer (SIGKILL) or a segmentation fault. WTERMSIG gives the signal number, signal.Signals(n).name its name. A shell usually shows such a process as code 128 plus the signal number; Python shows the negative number.
Examples
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
See also
Open in the full glossarydocs.python.orgReport an inaccuracy