Возвращаемое значение вызова функции system () в C ++, используемого для запуска программы на Python
Я работаю над Linux с кодом, который делаетsystem()
вызов для запуска программы на Python. Меня интересует значение, возвращаемое этим вызовом функции, чтобы понять, как прошло выполнение программы на Python.
Пока я нашел 3 результата:
When the python process completes successfully, value returned by system() is 0
When the python process is killed mid-execution (using kill -9 pid
), value returned by system() is 9
When the python process fails on its own due to incorrect parameters, value returned by system() is 512
Это не соответствует тому, о чем я читалСистема () функция.
Кроме того, код для вызываемой программы python показывает, что она завершается сsys.exit(2)
когда возникает какая-либо ошибка, иsys.exit(0)
когда выполнение завершится успешно.
Может ли кто-нибудь связать эти два? Я неправильно интерпретирую возвращаемое значение? Есть ли какая-то обработка Linux, которая принимает аргументsys.exit()
Функция программы Python и возвращает значениеsystem()
на основании этого?