マスターbashスクリプト内で「並列化」しようとしている複数のbashスクリプトがあります。Unix環境でのマルチスレッド/パラレルbashスクリプト
バッシュスクリプト:私は(アンパサンドなし)通常のスクリプトを実行しているし、アンパサンドで、私は何かがないかもしれないと信じて私をリードし、処理時間の任意のかなりの違いを見ていないです
#!/bin/bash
SHELL=/bin/bash
bash /home/.../a.sh &
bash /home/.../b.sh &
wait
bash /home/.../c.sh &
bash /home/.../d.sh &
bash /home/.../e.sh &
wait
echo "Done paralleling!"
exit 0
最も効率的な方法で正しくコーディングされています。
パラレルインスタンスは、必ずしもすべて同じ物理リソースを使用しているため、* longer *を取ることができます。これはおそらく、ディスクドライブ)。 Linux *(et al)*は非常に効率的なバッファリングをシーンの裏で使用できるので、* single *プロセスインスタンスはI/O要求をより効率的に行うことができるかもしれませんが、 "埋め込まれていれば、多くのプロセスが同じことを多かれ少なかれ実行しています。単にそれをベンチマークするだけで、アンパサンドが実際にあなたのマシン上で物事をかなり速くすることができなければ、そのアイデアを放棄してください。 * "ああ、いいアイデアのように思えたけど..." * –
並列ジョブでもっと勉強したい人は、GNU Parallelを見てみてください。それはあなたのための並列化作業の多くを行い、生産品質です。 –