2012-03-06 19 views

risposta

43

Secondo il documentation:

os._exit(): 

uscire dal processo con lo status di n, senza chiamare prima funzioni di pulizia, vampate di calore buffer di stdio, ecc

Nota Il metodo standard per uscire è sys.exit(n). _exit() normalmente dovrebbe essere utilizzato solo nel processo figlio dopo un fork().

+1

Nel mio programma avvio più thread, quello che volevo è che, quando mai c'è un'eccezione in qualsiasi thread, l'intero programma dovrebbe terminare. Io uso sys.exit (1) in eccetto thread ma questo esce solo da thread singolo non dal programma. Quindi ho usato os_exit (1) è un buon approccio? –

+0

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

+0

grazie mille .. aix –

19

os._exit chiama la funzione C _exit() che fa un immediato programma di terminazione . Nota l'affermazione "non può mai tornare".

sys.exit() è identico a raise SystemExit(). Solleva un'eccezione Python che può essere intercettata dal chiamante.

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

+0

Riferimento qui: http://bytes.com/topic/python/answers/156121-os-_exit-vs-sys-exit – aleroot

+0

@aleroot - modificato. – prelic

Problemi correlati