bashスクリプトのループでプロセスを並列に実行する方法はありますか?

bashスクリプトのループでプロセスを並列に実行する方法はありますか?

重複の可能性:
for ループの並列化

元のコードは次のとおりです。

 for i in *; do something.py $i; done

これらのタスクをバックグラウンドで並列に実行できるかどうかを知りたいです。たとえば、次のようになります。

 for i in *; do something.py $i &; done

試してみましたが、&ここではうまくいかないことがわかりました。

また、より良いアプローチは、bashが8つのジョブ(または任意の数)を一緒に実行できるようにすることです。バックグラウンドキューからさて、どうすればいいのかわかりません…

誰でもこれについてどんな考えを持っていますか?ありがとうございます!

ベストアンサー1

その文字を削除すると、最終的には;次のようになります。

 for i in *; do something.py $i & done

そして走るために窒素また、スクリプトの例については、以下を参照してください。man 1 parallel

バラよりhttp://www.gnu.org/software/parallel/

おすすめ記事