Valor de retorno da chamada de função system () em C ++, usada para executar um programa Python

Eu estou trabalhando no Linux com código que faz umsystem() chamada para executar um programa python. Estou interessado no valor retornado por essa chamada de função para entender como foi a execução do programa python.

Até agora, encontrei 3 resultados:

Quando o processo python é concluído com sucesso, o valor retornado por system () é 0

Quando o processo python é eliminado no meio da execução (usandokill -9 pid), valor retornado pelo sistema () é 9

Quando o processo python falha sozinho devido a parâmetros incorretos, o valor retornado pelo system () é 512

Isso não se encaixa com o que eu li sobresistema() função.

Além disso, o código para o programa python sendo chamado mostra que ele sai comsys.exit(2) quando algum erro é encontrado esys.exit(0) quando a execução é concluída com sucesso.

Alguém poderia relacionar esses dois? Estou interpretando o valor de retorno de maneira incorreta? Existe algum processamento Linux envolvido que leva o argumento dasys.exit() função do programa python e retorna o valor desystem() com base nisso?

questionAnswers(1)

yourAnswerToTheQuestion