Čekání na konec procesů v shellu
Vancl Miroslav (QRIS)
Miroslav.Vancl na qris.cz
Úterý Leden 11 13:01:16 CET 2005
Zdravím,
mám tady takový oříšek:
Potřeboval bych ve skriptu spustit N paralelních procesů a čekat až některý
(kterýkoliv jeden) z nich skončí.
Nepodařilo se mi najít konstrukci, která by to umožnila (ale možná jenom
špatně čtu dokumentaci k shellu). Vypadá to, že buď můžu čekat na skončení
všech subprocesů, nebo jednoho konkrétního, ne na kterýkoliv.
Praktické použití: Například když chci zpracovat (např. zkomprimovat) na
N-procesorovém stroji množinu souborů, může být výhodné se snažit jich
zpracovávat právě N paralelně. Jak to ale bez složitých obezliček udělat v
shellu, to skutečně netuším. Složitou obezličkou mám na mysli rozjet N
subshellů, které budou v cyklu odebírat z fronty (třeba roura od hlavního
shellu) jména souborů ke zpracování (zkomprimování). Musí se asi vyřešit
synchronizace přístupu k rouře a taky bych rád centrálně zpracovával
návratové kódy z těch jednotlivých zpracování...
Neporadí mi někdo ?
M. Vancl
Další informace o konferenci Linux