Linux サーバーのシェルで実行する必要がある 200 個のコマンドのリスト/キューがあります。
一度に最大 10 個のプロセスを (キューから) 実行したいだけです。一部のプロセスは完了までに数秒かかりますが、他のプロセスはそれよりもはるかに時間がかかります。
プロセスが終了したら、次のコマンドをキューから「ポップ」して実行したいと考えています。
この問題を解決するコードを持っている人はいますか?
さらに詳しく:
ある種のキューに、実行する必要がある 200 個の作業があります。一度に最大 10 個の作業を実行したいと考えています。スレッドが作業を終了すると、キューに次の作業を要求する必要があります。キューに作業がなくなった場合、スレッドは終了するはずです。すべてのスレッドが死んだら、すべての作業が完了したことを意味します。
私が解決しようとしている実際の問題はimapsync
、200 個のメールボックスを古いメール サーバーから新しいメール サーバーに同期することです。メールボックスが大きく同期に時間がかかるユーザーもいれば、メールボックスが非常に小さく同期が速いユーザーもいます。