все Python 3osфункция
os._exit
os — аварийное завершение
Немедленно завершает процесс с кодом n, минуя финализаторы Python (для дочернего после fork).
Синтаксис
os._exit(n)
Не выполняет finally, atexit и не сбрасывает буферы: текст, напечатанный через print в канал или файл, может бесследно пропасть. Правильное место — дочерний процесс после os.fork, чтобы потомок не выполнил код очистки родителя. В обычной программе выходят через sys.exit, который поднимает SystemExit и проходит всю очистку.
Примеры
import os
print(os.getpid()) # → ? идентификатор текущего процесса, например 12345
pid = os.fork() # → ? только Unix: 0 в дочернем процессе, pid ребёнка в родительском
if pid == 0: os._exit(3) # → ? дочерний процесс завершается сразу с кодом 3, минуя atexit, finally и сброс буферов
print(os.waitstatus_to_exitcode(os.waitpid(pid, 0)[1])) # → ? только Unix: 3 — родитель забирает код выхода ребёнка
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности