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

For parallelisieren



Hallo alle miteinander!

Angenommen, ich habe viele Dateien eines bestimmten Typs, welche ich alle mit einem konvertierungswerkzeug behandeln will, z.B. ps2pdf. Das kann ich leicht für alle in einem Verzeichnis tun, indem ich der Shell folgendes befehle:

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.
Nun kann man natürlich auch eine Makefile schreiben, und make die Sache mit 

make -jn

übernehmen lassen, wobei n natürlich dem System sinnvoll angepasst sein sollte. Mir ist es aber zu aufwändig, makefiles mit rumzuschleppen. Gibt es eine Möglichkeit, das Problem ähnlich einfach wie am Anfang, also mal schnell hintippbar, zu lösen, unter der Maßgabe, die Anzahl der gestarteten parallelen Prozesse zu begrenzen (ähnlich wie bei make)?

Dirk.



Reply to: