os._exit vs. sys.exit

Bryan nestleNOSPAM12 at comcast.net
Fri Jul 29 14:19:45 CEST 2005

"Peter Hansen" <peter at engcorp.com> wrote in message 
news:u-SdnRAzQ9KHhnffRVn-gg at powergate.ca...
> Andrew Dalke wrote:
>> sys.exit() is identical to "raise SystemExit()".  It raises a Python
>> exception which may be caught at a higher level in the program stack.
> And which *is* caught at the highest levels of threading.Thread objects 
> (which Timer is based on).  Exceptions raised (and caught or not) in a 
> Thread do not have any effect on the main thread, and thus don't affect 
> the interpreter as a whole.
> -Peter

Thanks for the clarifications.  One more question, can I catch this 
exception in my main thread and then do another sys.exit() to kill the whole 

Apparently sys.exit() allows the program to clean up resources and exit 
gracefully, while os._exit() is rather abrupt.


More information about the Python-list mailing list