Python Glossary English

все Python 3osфункция

os.abort

os — аварийное завершение

Немедленно завершает процесс сигналом SIGABRT (без очистки/финализаторов).

Синтаксис

os.abort()

Завершает процесс сигналом SIGABRT: обработчики Python, блоки finally, atexit и сброс буферов не выполняются, а на Unix может остаться дамп памяти. Сигнал SIGABRT, установленный через signal.signal, при этом не вызывается. На Windows код завершения процесса — 3. Нужна для аварийного выхода с диагностикой, а не для обычного завершения.

Примеры

import os
pid = os.fork()   # → ? только Unix: 0 в дочернем процессе, pid ребёнка в родительском
if pid == 0: os.abort()   # → ? дочерний процесс мгновенно убит сигналом SIGABRT: finally и atexit не выполняются
print(os.waitstatus_to_exitcode(os.waitpid(pid, 0)[1]))   # → ? только Unix: -6, процесс завершён сигналом SIGABRT
print(os.abort(0))   # → TypeError

См. также

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