Python Glossary English

Python 3.9+osфункция

os.waitstatus_to_exitcode

os — процесс

Преобразует «сырой» статус завершения (от waitpid) в код возврата процесса (Python 3.9+).

Синтаксис

os.waitstatus_to_exitcode(status)

Для процесса, убитого сигналом, возвращает отрицательный номер сигнала: при SIGTERM это -15. Так же кодирует returncode модуль subprocess, поэтому их легко сравнивать. Для остановленного, а не завершённого процесса поднимает ValueError. Нужна, чтобы разобрать статус от os.system, os.wait или popen().close() без ручных макросов W*.

Примеры

import os
print(os.waitstatus_to_exitcode(0))   # → 0
print(os.waitstatus_to_exitcode(1 << 8))   # → 1
status = 3 << 8   # так кодируется потомок, завершившийся с кодом 3
print(os.waitstatus_to_exitcode(status))   # → 3
print(os.waitstatus_to_exitcode(9))   # → -9 — потомок убит сигналом 9 (SIGKILL), результат отрицательный
print(os.waitstatus_to_exitcode(127))   # → ValueError — процесс остановлен, а не завершён

См. также

Частые ошибки

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