Pergunta

Eu estou tentando executar um programa a partir de um pai usando execl. I fazer a instalação da tubulação normal e garfo. Aqui está o truque ... Eu preciso de meus filhos (pode haver um número arbitrário de crianças) a todos comunicar com o pai.

Programa "A" (pai) cria garfos tubos e execl em "B" (criança). Na função main () do programa B Eu preciso ser capaz de ler e escrever para o pipe.

Existe alguma maneira de acessar meus arquivos descritores tubulação no processo de criança após o Excel assume e executa o meu processo filho?

Obrigado, ~ Eric

Foi útil?

Solução

execl(3) não tem efeito sobre os descritores de arquivo, com uma exceção

É possível marcar um descritor de arquivo close-on-exec com fcntl(2), mas geralmente as várias versões de execve(2) não têm efeito sobre descritores de arquivos abertos e eles permanecem abertos em crianças.

Outras dicas

Leia Guia do Beej para Unix Interprocess Comunicação (você pode encontrá-lo em http://beej.us/guide/ ), especialmente a seção 4.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top