Ce se intampla in cazul comenzii ls -l | grep 'c' ?
    Daca am creat un pipe pe care vreau sa-l folosesc intre parinte si
copil,
    apoi fac un fork(), pentru a folosi pipe-ul corect, copilul (ls -l) va
    inchide STDOUT_FILENO si-l va redirecta catre inputul lui 'grep c'. Din
    cate am citit la un fork() se copiaza din parinte in copil tabela de
file
    descriptori. Judecand dupa poza atasata, daca parintele/copilul ar
modifica
    ce se afla la STDOUT_FILENO, i-ar fi modificata si celuilalt, iar in
    comanda anterioara ar insemna ca daca as seta outputul lui ls -l la grep
    'c' si outputl lui grep 'c' ar fi setat la inputul lui ceea ce nu pare
    corect. Initial se copiaza tabela, dar dupa fork() modificarile de tipul
    (dup, dup2) pe file descriptorii comuni nu vor fi vizibili celuilalt
proces?

<<attachment: image.png>>

_______________________________________________
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Raspunde prin e-mail lui