Python Glossary Русский

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