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