Bitte helfen Sie mir bei der Klärung des Konzepts dieser beiden Python-Anweisungen hinsichtlich des Unterschieds in der Funktionalität:
sys.exit(0)
os._exit(0)
Bitte helfen Sie mir bei der Klärung des Konzepts dieser beiden Python-Anweisungen hinsichtlich des Unterschieds in der Funktionalität:
sys.exit(0)
os._exit(0)
Antworten:
Laut Dokumentation :
os._exit():
Beenden Sie den Prozess mit dem Status n, ohne Bereinigungshandler aufzurufen, Standardpuffer zu leeren usw.
Hinweis Die Standardmethode zum Beenden ist
sys.exit(n)
._exit()
sollte normalerweise erst im untergeordneten Prozess nach a verwendet werdenfork()
.
stdlib.h
.
os._exit
ruft die C-Funktion auf, _exit()
die eine sofortige Programmbeendigung durchführt. Beachten Sie die Aussage "kann niemals zurückkehren".
sys.exit()
ist identisch mit raise SystemExit()
. Es wird eine Python-Ausnahme ausgelöst, die vom Aufrufer abgefangen werden kann.
Ursprünglicher Beitrag: http://bytes.com/topic/python/answers/156121-os-_exit-vs-sys-exit