Pracuję na systemie Linux z kodem, który wykonuje wywołanie system()
w celu uruchomienia programu python. Interesuje mnie wartość zwrócona przez to wywołanie funkcji, aby zrozumieć, w jaki sposób poszło wykonywanie programu Pythona.Zwraca wartość wywołania funkcji system() w C++, używanego do uruchamiania programu w języku Python
tej pory znalazłem 3 wyniki:
Gdy proces python zakończy się pomyślnie, wartość zwracana przez system() jest 0
Gdy proces python ginie w połowie realizacji (stosując
kill -9 pid
) wartość zwrócona przez układ (9) jestGdy proces pyton nie na skutek braku nieprawidłowych parametrów, wartość zwracana przez układ (512)
To nie pasuje do tego, co przeczytałem na temat funkcji system().
Ponadto kod wywoływanego programu Pythona wskazuje, że kończy się on z sys.exit(2)
po napotkaniu dowolnego błędu i sys.exit(0)
po pomyślnym zakończeniu wykonywania.
Czy ktoś może odnosić się do tych dwóch? Czy interpretuję wartość zwrotu w niewłaściwy sposób? Czy jest jakieś przetwarzanie Linuxa, które bierze argument funkcji sys.exit()
programu Pythona i na tej podstawie zwraca wartość system()
?
Jak się uruchamia program python? tj. z 'system ("/usr/bin/env python/path/to/script ");'? – mkb
'system (" python progname.py arg1 arg2 arg2 ");' Python został już dodany do PATH –