Rückgabewert des system () -Funktionsaufrufs in C ++, der zum Ausführen eines Python-Programms verwendet wird

Ich arbeite an Linux mit Code, der eine machtsystem() Rufen Sie auf, um ein Python-Programm auszuführen. Ich bin an dem Wert interessiert, der von diesem Funktionsaufruf zurückgegeben wird, um zu verstehen, wie die Ausführung des Python-Programms verlaufen ist.

Bisher habe ich 3 Ergebnisse gefunden:

Wenn der Python-Prozess erfolgreich abgeschlossen wurde, ist der von system () zurückgegebene Wert 0

Wenn der Python-Prozess mitten in der Ausführung abgebrochen wird (mitkill -9 pid) ist der von system () zurückgegebene Wert 9

Wenn der Python-Prozess aufgrund falscher Parameter von selbst fehlschlägt, gibt system () den Wert 512 zurück

Das passt nicht zu dem, worüber ich gelesen habeSystem() Funktion.

Darüber hinaus zeigt der Code für das aufgerufene Python-Programm, dass es mit beendet wirdsys.exit(2) wenn ein Fehler auftritt, undsys.exit(0) wenn die Ausführung erfolgreich abgeschlossen wurde.

Könnte jemand diese beiden in Beziehung setzen? Interpretiere ich den Rückgabewert falsch? Handelt es sich um eine Linux - Verarbeitung, die das Argument dersys.exit() Funktion des Python-Programms und liefert den Wert vonsystem() basierend darauf?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage