Eu uso o código psuedo para expressar o que quero fazer:
FILE* fd = popen("/bin/cat", ...);
Write some data to the stdin of `/bin/cat` using fd;
Read all data from the stdout of `/bin/cat` using fd;
É possível?
Respostas:
2 para resposta № 1popen () só pode ler o novo processo. Se você precisa ler e escrever,
- Crie um pipe que será conectado a um novo processo usando
pipe()
. - Bifurque um novo processo usando
fork()
- redirecionar as entradas e saídas do processo para os pipes que você criou anteriormente usando
dup2()
- chamar exec no processo filho (o novo processo) usando
exec
funções familiares