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._exitruft 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