Zwracana wartość wywołania funkcji system () w C ++, używana do uruchomienia programu Python

Pracuję nad Linuksem z kodem, który tworzysystem() zadzwoń, aby uruchomić program Pythona. Interesuje mnie wartość zwrócona przez to wywołanie funkcji, aby zrozumieć, jak poszło wykonanie programu Pythona.

Do tej pory znalazłem 3 wyniki:

Gdy proces python zakończy się pomyślnie, wartość zwracana przez system () wynosi 0

Gdy proces Pythona zostanie zabity w połowie wykonywania (za pomocąkill -9 pid), wartość zwracana przez system () wynosi 9

Gdy proces Pythona nie powiedzie się sam z powodu niepoprawnych parametrów, wartość zwracana przez system () wynosi 512

To nie pasuje do tego, o czym czytałemsystem() funkcjonować.

Ponadto kod wywoływanego programu Pythona pokazuje, że kończy działaniesys.exit(2) gdy wystąpi jakikolwiek błąd isys.exit(0) gdy wykonanie zakończy się pomyślnie.

Czy ktoś mógłby odnieść się do tych dwóch? Czy interpretuję wartość zwrotu w niewłaściwy sposób? Czy jest to związane z przetwarzaniem Linuksa, które przyjmuje argumentsys.exit() funkcja programu Pythona i zwraca wartośćsystem() na tej podstawie?

questionAnswers(1)

yourAnswerToTheQuestion