平行を参照してください。その構文は xargs
に似ています が、コマンドを並行して実行します。
wait
を使用 組み込み:
process1 &
process2 &
process3 &
process4 &
wait
process5 &
process6 &
process7 &
process8 &
wait
上記の例の場合、4 つのプロセス process1
... process4
バックグラウンドで開始され、シェルはそれらが完了するまで待ってから次のセットを開始します。
GNU マニュアルから:
wait [jobspec or pid ...]
各プロセス ID pid またはジョブ指定 jobspec で指定された子プロセスが終了するまで待機し、最後に待機したコマンドの終了ステータスを返します。ジョブ仕様が指定されている場合、ジョブ内のすべてのプロセスが待機されます。引数が指定されていない場合、現在アクティブなすべての子プロセスが待機され、戻りステータスはゼロになります。 jobspec も pid もシェルのアクティブな子プロセスを指定しない場合、戻りステータスは 127 です。