2012-03-06 60 views

Trả lời

43

Theo documentation:

os._exit(): 

Thoát quá trình với tình trạng n, mà không gọi xử lý dọn dẹp, đỏ bừng bộ đệm stdio vv

Note Cách thông thường để thoát khỏi là sys.exit(n). _exit() thường chỉ nên được sử dụng trong quy trình con sau fork().

+1

Trong chương trình của tôi tôi bắt đầu nhiều chủ đề, những gì tôi muốn là khi bao giờ có một ngoại lệ trong bất kỳ chủ đề toàn bộ chương trình nên chấm dứt. Tôi sử dụng sys.exit (1) ngoại trừ thread nhưng điều này chỉ thoát ra từ thread đơn không từ chương trình. Vì vậy, tôi sử dụng os_exit (1) là phương pháp này tốt? –

+0

@AamirAdnan: Xem http://stackoverflow.com/questions/905189/why-does-sys-exit-not-exit-when-called-inside-a-thread-in-python – NPE

+0

cảm ơn rất nhiều .. aix –

19

os._exit gọi C chức năng _exit() mà không ngay lập tức một chấm dứt chương trình . Lưu ý tuyên bố "không bao giờ có thể trở lại".

sys.exit() giống hệt với raise SystemExit(). Nó làm tăng một ngoại lệ Python có thể bị người gọi bắt.

Bài đăng gốc: http://bytes.com/topic/python/answers/156121-os-_exit-vs-sys-exit

+0

Tham chiếu tại đây: http://bytes.com/topic/python/answers/156121-os-_exit-vs-sys-exit – aleroot

+0

@aleroot - được chỉnh sửa. – prelic

Các vấn đề liên quan