[so] Procese in paralel

Alexandru Mosoi brtzsnr at gmail.com
Tue Oct 30 19:33:30 EET 2007


nu prea e adevarat ce zici tu... sau cel putin bash-ul meu nu se
comporta asa. incearca sa executi comenzile:

while `true`; do sleep 1; done & true; printf "bla"
si
while `true`; do sleep 1; done; printf "bla"

ai sa vezi ca a afisat "bla", desi primul proces (while...) nu s-a
terminat. se pare ca atunci cand apare operatorul & precesele ruleaza
in background (pana cand m-am apucat de tema la so stiam ca & e
folosit pentru a rula un program in background).

tu spui ca printf "bla" nu trebuie executat inainte sa se termine
bucla infinita, ceea ce bash nu respecta. pana la urma, ce
comportament trebuie sa implementam?

On 10/30/07, Catalin Iacob <iacobcatalin at gmail.com> wrote:
> On Tuesday 30 October 2007 18:32:44 Dan Persa wrote:
> > Sal
> >
> > Procesele care se ruleaza in parales trebuie sa fie asteptate de procesul
> > pe care se ruleaza shell-ul?
>
> Da; altfel se intampla ce spui tu. Rularea in paralel inseamna ca nu il
> astepti pe primul din lista inainte de a-l porni pe urmatorul. Dar pe ele ca
> grup trebuie sa le astepti inainte de a da drumul altora care eventual mai
> sunt in comanda (de exemplu C in comanda A & B ; C).
>
> > Se intampla sa am output de genul:
> > > ls & ls
> > > Command.cpp Makefile parser.tab.h Process.o
> >
> > Command.h Makefilexx parser.tab.o README
> > Command.o mama parser.y tata
> > CUseParser nbproject parser.yy.c tema1
> >
> > Adica imediat dupa ce scriu comanda si dau "enter" apare prompt-ul: >
> > Pe urmatoarele linii apare output-ul comenzilor
> > In final cursorul meu e pozitionat pe ultima linie
> >
> > Deci promptul nu apare pe ultima linie cum ar trebui.
>
> Daca le astepti o sa apara :-).
>
> > Multumesc,
> >    Dan
>
>
> _______________________________________________
> so mailing list
> so at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so
>


-- 
Alexandru Moşoi
http://alexandru.mosoi.googlepages.com


More information about the so mailing list