Salut,<br><br>Imi poate explica cineva cum se creaza un pipe intre doua procese pentru STDOUT -> STDIN. Eu am facut ceva de genul (exemplu pentru ls | grep h):<br><br>pipe(fd);<br>fork<br> close(fd[1])<br> dup2(fd[0], stdin)<br>
executa grep<br> close(fd[0])<br> exit<br>close(fd[0])<br>dup2(fd[1],stdout)<br>executa ls<br>close(fd[1])<br>waitpid(proces fork)<br><br>Problema este ca nu se termina grep. Aparent stdout din parinte ramane redirectat catre copil si dupa ce inchid ambele capete ale pipe-ului din parinte (cout << "here" rezulta in printarea "here" in copil).<br clear="all">
<br>Multumesc,<br>-- <br>Ciprian Coman<br>