Job Control
Sicher nicht der schönste, aber dafür ein sehr einfacher Weg um Prozesse zu parallelisieren und gleichzeitig dafür zu sorgen, dass es nicht mehr als 20 Prozesse sind:
joblist=($(jobs -lp))
while (( ${#joblist[*]} >= 20))
do
sleep 5
joblist=($(jobs -lp))
done
start_process &