[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: For parallelisieren



Hallo,

kannst Du Deine Zeilenlänge auf 72 Zeichen beschränken? Macht das
Antworten einfacher.

Dirk Neumann wrote:

> for name in *.ps; do ps2pdf $name; done
> 
> Nun ist es so, dass ps2pdf auch mal lange laufen kann, und dann 
> würde man gern auch, wenn man SMP betreibt, parallel arbeiten 
> lassen, also
> 
> for name in *.ps; do ps2pdf $name &; done
> 
> Hier werden jetzt schnell hintereinander so viele Prozesse 
> gestartet, wie .ps-Dateien vorhanden sind. Dann ist schnell der 
> RAM zu eng.

Du könntest in der Schleife prüfen, wie viele Jobs im Hintergrund liegen
(ungetestet):

export MAXJOBS=10

for name in *.ps; do
    ps2pdf $name &
    while [ $(jobs | wc -l) -gt $MAXJOBS ]; do
    	sleep .1
    done
done

hth, Wolf
-- 
Egal, was die Deutschen machen, es gefällt den Amis nicht. Wenn die Deutschen 
ein Land überfallen, dann sind die Amis sauer. Wenn die Deutschen ein Land 
NICHT überfallen, dann sind die Amis auch sauer. (Eisenbahner im Heise-Forum)



Reply to: