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
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.