Siehe parallel. Seine Syntax ähnelt der von xargs
, aber es führt die Befehle parallel aus.
Verwenden Sie die wait
eingebaut:
process1 &
process2 &
process3 &
process4 &
wait
process5 &
process6 &
process7 &
process8 &
wait
Für das obige Beispiel verarbeitet 4 process1
... process4
im Hintergrund gestartet, und die Shell würde warten, bis diese abgeschlossen sind, bevor sie den nächsten Satz startet.
Aus dem GNU-Handbuch:
wait [jobspec or pid ...]
Warten Sie, bis der untergeordnete Prozess, der durch jede Prozess-ID pid oder Jobspezifikation jobspec angegeben ist, beendet wird, und geben Sie den Exit-Status des letzten Befehls zurück, auf den gewartet wurde. Wenn eine Jobspezifikation angegeben ist, wird auf alle Prozesse im Job gewartet. Wenn keine Argumente angegeben werden, wird auf alle derzeit aktiven untergeordneten Prozesse gewartet, und der Rückgabestatus ist null. Wenn weder jobspec noch pid einen aktiven untergeordneten Prozess der Shell angeben, ist der Rückgabestatus 127.