2012-03-06 14 views

Respuesta

43

de acuerdo con la documentation:

os._exit(): 

salir del proceso con el estado n, sin llamar a los manipuladores de limpieza, vaciando los buffers stdio, etc.

Nota La manera estándar para salir es sys.exit(n). _exit() normalmente solo debe usarse en el proceso secundario después de fork().

+1

En mi programa, inicio varios hilos, lo que quería es que, cuando hay una excepción en cualquier hilo, el programa completo termine. Yo uso sys.exit (1) en excepto el hilo, pero esto solo sale de un solo hilo, no del programa. ¿Entonces usé os_exit (1) es este buen enfoque? –

+0

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

+0

muchas gracias .. aix –

19

os._exit llama a la función C _exit() el que hace una terminación inmediata del programa . Tenga en cuenta la afirmación "nunca puede volver".

sys.exit() es idéntico a raise SystemExit(). Se lanza una excepción Python que puede ser capturada por la persona que llama.

Original post: http://bytes.com/topic/python/answers/156121-os-_exit-vs-sys-exit

+0

Referencia aquí: http://bytes.com/topic/python/answers/156121-os-_exit-vs-sys-exit – aleroot

+0

@aleroot - editado. – prelic

Cuestiones relacionadas