Atunci de ce cand copilul modifica cursorul unui fisier partajat cu parintele si parintele vede modifcarea?
În data de 9 martie 2014, 22:49, Istrate Roxana <[email protected] > a scris: > 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? >
_______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
