Подтвердить что ты не робот

В чем разница между sys.exit(0) и os._exit (0)

Пожалуйста, помогите мне в разъяснении концепции этих двух операторов python с точки зрения разницы в функциональности:

  • sys.exit(0)

  • os._exit(0)

4b9b3361

Ответ 1

В соответствии с документацией:

os._exit():

Выйти из процесса со статусом n, не вызывая обработчики очистки, сброс буферов stdio и т.д.

Примечание Стандартный способ выхода - sys.exit(n). _exit() обычно должен использоваться только в дочернем процессе после fork().

Ответ 2

os._exit вызывает функцию C _exit(), которая выполняет немедленную программу прекращение. Обратите внимание, что оператор "никогда не может вернуться".

sys.exit() идентичен raise SystemExit(). Он поднимает Python исключение, которое может быть уловлено вызывающим абонентом.

Оригинальное сообщение: http://bytes.com/topic/python/answers/156121-os-_exit-vs-sys-exit