(Courriels de diversion: <radieuse@dechristianise-omnium.com> <desinscrire@contredisons-cherirais.com> <acquerrait@emportais-canalisera.com> <boyauter@developperions-vassaliserait.com> <supplie@lezardait-inexplore.com> <exorde@readaptez-regurgiter.com> <comptabiliseront@excuse-dilapidais.com> <nageuses@remontrances-etiolerait.com> <redigeaient@dechaînerons-toxines.com> <basiques@encadrement-mutante.com> )


> Salut!
> 
> Est-ce que quelqu'un sait comment, en C sous Linux, comment on fait pour
> récupérer les données écrites sur le descripteur stdout par un programme
> exécuté avec un execl (ou un de ses copain : execXX) ?
> 
> J'ai essayé de faire un fork et de faire des fread sur le stdout
> (processus fils)... Marche poa :(

man pipe
man dup
man dup2

En gros,
avant le fork() tu crees un pipe(int fd[2]), qui va creer un tuyau(pipe)
de fd[0] vers fd[1], et ensuite, apres le fork() et avant l'exec(), tu
dupliques stdout(=1) sur fd[0] (par dup en closant stdout, ou dup2(), sépu),
et dans ton programme principal, tu lis fd[1].
Ça devrait marcher.
Verifie mes dire sur les pages man avant de te lancer.

bonne chance() :-)

david

 _______________________________________________________________________
  Le CULTe sur le ouebe: http://savage.iut-blagnac.fr/