[so] [Tema1][Linux] Problema la pipe
Alex
alexeurope2002 at yahoo.com
Fri Jul 18 12:06:00 EEST 2008
My fault...like usually. :D
In testarea mea...am inversat la un mom
dat ordinea in care execut comenzile. Apoi am reparat ce era
gresit...dar am uitat sa apelez comenzile in ordinea normala. Acum
merge.Slava Domnului.
Alex.
--- On Fri, 7/18/08, Mircea Gherzan <mgherzan at anaconda.cs.pub.ro> wrote:
From: Mircea Gherzan <mgherzan at anaconda.cs.pub.ro>
Subject: Re: [so] [Tema1][Linux] Problema la pipe
To: so at cursuri.cs.pub.ro
Date: Friday, July 18, 2008, 1:19 AM
Alex wrote:
> Dupa ce l-am zapacit prima data am zis ca reiau si am gandit altfel
> programul,am facut si un prg de test de 50 linii de cod si
> mergea...dar in tema acceasi idee nu merge. Iata cum am gandit: Cand
> intalnesc primul operator pipe creez recursiv pentru toate
> subnodurile lui care nu sunt comenzi simple cate 2 file descriptori
> in aux(din structura arborelui). Apoi dau drumu la executia
> proceselor in ordine. Dupa executia comenzilor din primul op pipe
> distrug adica dau free la toti file descriptorii alocati (ii inchid
> inainte),fac waitpid(-1,&status,0) pt a astepta toti copiii. In copil
> tin cont si fac toate legaturile necesare intre procese__ inainte de
> exec (le-am printat...sunt ok...zic eu :D ).Dupa ce fac legaturile
> inchid in copil toate celelalte pipe-uri(s-au copiat din parinte unde
> erau deschise deja).
Pentru o comanda precum cmd1 | cmd2 | cmdN , cele N procese trebuie
executate in paralel, si nu "in ordine". Capacitate unui pipe este
evident finita (64K), iar eventuale apeluri ar putea write() pot bloca
pana la preluarea de octeti.
--
Mircea Gherzan
Faculty of Automatic Control and Computers
Politehnica University of Bucharest
_______________________________________________
so mailing list
so at cursuri.cs.pub.ro
http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cursuri.cs.pub.ro/pipermail/so/attachments/20080718/cb2f8a87/attachment.htm
More information about the so
mailing list