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
