Birçok dosyayı işlemek istiyorum ve burada bir sürü çekirdek olduğundan paralel olarak yapmak istiyorum:
for i in *.myfiles; do do_something $i `derived_params $i` other_params; done
Makefile çözümünü biliyorum ama komutlarımın kabuk globbing listesinden argümanlara ihtiyacı var. Ne buldum:
> function pwait() {
> while [ $(jobs -p | wc -l) -ge $1 ]; do
> sleep 1
> done
> }
>
Bunu kullanmak için, tek yapılması gereken işler ve bir pwait çağrısından sonra, parametre paralel işlemlerin sayısını verir:
> for i in *; do
> do_something $i &
> pwait 10
> done
Ama bu çok iyi çalışmıyor, örneğin ben bir döngü için birçok dosya dönüştürme ama bana hata ve işlerini geri bıraktı denedim.
Zsh posta listesindeki tartışma şimdiye kadar çok eski olduğundan bunun henüz yapılmadığına inanamıyorum. Daha iyisini biliyor musun?
echo "DONE"
Aktif işler bitmeden önce yürütülen döngüden sonra bir gösterge yerleştirdim . => Bu bana işlerin bittiğini düşündürdü.