[so] Pipes

Razvan Deaconescu razvan.deaconescu at cs.pub.ro
Sat Mar 28 00:32:15 EET 2009


On Fri, 2009-03-27 at 21:06 +0200, Dumitru Sorin wrote:
> Salut,
> 
> Pentru comanda "a|b|c" ar trebui sa pornesc a,b,c si sa le astept pe
> toate
>  la sfarsit, sau sa le pornesc pe rand si sa le astept individual? 

Dupa cum a spus si Mihnea trebuie pornit oarecum simultan, adica nu poti
astepta pe a inainte de a porni b.

> Exista vreo metoda sa astept toti copiii unui proces?

In Linux poti face un while pe apelu wait(2) pana cand intoarce -1
(errno == ECHILD).

In Windows poti folosi WaitForMultipleObjects, dar va trebui sa retii un
vector cu toti copii procesului. Acceasi solutie o poti implementa si pe
Linux folosind waitpid(2).

Razvan



More information about the so mailing list