Python Glossary English

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

os.WSTOPSIG

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

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

Синтаксис

os.WSTOPSIG(...)

Имеет смысл только после истинного WIFSTOPPED. Обычно это SIGSTOP или SIGTSTP — последний приходит, когда пользователь нажал Ctrl+Z. Отладчики видят здесь SIGTRAP при каждой остановке трассируемого процесса.

Примеры

import os
status = 0x137f   # статус, каким его вернул os.waitpid() для процесса, остановленного сигналом SIGSTOP
print(os.WSTOPSIG(status))   # → 19 — номер SIGSTOP на Linux, он лежит в старшем байте статуса
print(os.WSTOPSIG(0x057f))   # → 5 — SIGTRAP, так процесс останавливает отладчик
pid, status = os.waitpid(-1, os.WUNTRACED)   # → ? только Unix: дождаться ребёнка, в том числе остановленного, а не только завершённого
print(os.WSTOPSIG(status) if os.WIFSTOPPED(status) else 0)   # → ? только Unix: на не-остановленном статусе результат WSTOPSIG бессмыслен, поэтому проверка WIFSTOPPED обязательна

См. также

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