OS: linux programa: C
cenário 1:
Eu tenho um programa que quando eu corro da linha de comando, ele se comporta corretamente. No entanto, quando eu uso o posix_spawn para lançá-lo, ele se comporta mal.
O programa pega dados de um arquivo como entrada e depois executa os dados como comandos. Por exemplo, os comandos são executados através de um sistema ("ls > / tmp / key")
Se eu executar o programa a partir do prompt de comando, ele é executado corretamente e eu encontro a saída no tempfile (mkostemp)
cenário 2:
Se eu executar o programa de outro programa que, por sua vez, executa um posix_spawn e inicializa o programa, posso fazer um PS e ver o programa sendo executado, mas não recebo nenhuma saída para o meu arquivo temporário.
mods:
Eu tentei modificar meu lançamento posix_spawn de acordo com um exemplo encontrado aqui Como um programa autônomo com um par de erros encontrados no original que eu corrigi, o programa funciona muito bem. no entanto, no meu exemplo original acima eu não recebo saída
Se eu não tiver que interagir com o console, pareço fazer ok. Por exemplo, se eu executo um programa que lança um script via posix_spawn e o script contém algo assim:
#!/bin/bash
myprog myparm1 myparm2
A propósito, é assim que eu lanço o programa agora.
que alternativas para posix_spawn eu tenho para iniciar comandos e capturar a saída enquanto evito arquivos?
E por que a capacidade de fazer spool para console desaparecer? - se console é o termo certo.
Vou tentar executar o exemplo referenciado no cenário # 2 para isolar ainda mais o problema enquanto aguardo uma resposta.