per favore mi aiuti a chiarire il concetto di queste due affermazioni pitone in termini di differenza di funzionalità:Qual è la differenza tra sys.exit (0) e os._exit (0)
sys.exit(0)
os._exit(0)
per favore mi aiuti a chiarire il concetto di queste due affermazioni pitone in termini di differenza di funzionalità:Qual è la differenza tra sys.exit (0) e os._exit (0)
sys.exit(0)
os._exit(0)
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 unfork()
.
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? –
@AamirAdnan: vedere http://stackoverflow.com/questions/905189/why-does-sys-exit-not-exit-when-called-inside-a-thread-in-python – NPE
grazie mille .. aix –
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
Hai cercato i documenti? – jdi