Valor de retorno de la llamada a la función system () en C ++, usado para ejecutar un programa Python

Estoy trabajando en Linux con código que hace unsystem() llamar para ejecutar un programa de python. Estoy interesado en el valor devuelto por esta llamada a la función para comprender cómo fue la ejecución del programa python.

Hasta ahora, he encontrado 3 resultados:

Cuando el proceso de python se completa con éxito, el valor devuelto por el sistema () es 0

Cuando el proceso de Python se elimina en mitad de la ejecución (usandokill -9 pid), el valor devuelto por el sistema () es 9

Cuando el proceso de Python falla solo debido a parámetros incorrectos, el valor devuelto por el sistema () es 512

Esto no encaja con lo que he leídosistema() función.

Además, el código para el programa python que se está invocando muestra que sale consys.exit(2) cuando se encuentra algún error, ysys.exit(0) cuando la ejecución se completa con éxito.

¿Alguien podría relacionar estos dos? ¿Estoy interpretando el valor de retorno de una manera incorrecta? ¿Hay algún procesamiento de Linux involucrado que tome el argumento delsys.exit() Función del programa python y devuelve el valor desystem() basado en eso?

Respuestas a la pregunta(1)

Su respuesta a la pregunta