(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/