por favor me ayude a aclarar el concepto de estas dos sentencias de Python en términos de la diferencia en la funcionalidad:¿Cuál es la diferencia entre sys.exit (0) y os._exit (0)
sys.exit(0)
os._exit(0)
por favor me ayude a aclarar el concepto de estas dos sentencias de Python en términos de la diferencia en la funcionalidad:¿Cuál es la diferencia entre sys.exit (0) y os._exit (0)
sys.exit(0)
os._exit(0)
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 defork()
.
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? –
@AamirAdnan: Vea http://stackoverflow.com/questions/905189/why-does-sys-exit-not-exit-when-called-inside-a-thread-in-python – NPE
muchas gracias .. aix –
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
miraste los documentos? – jdi