私はスクリプト(コマンドの線形リスト)を持っています。これは、連続して実行するのに時間がかかります。私は、任意の線形スクリプトからコマンドを読んだり、設定可能な数の並列作業者にそれらを送り出すことができるユーティリティスクリプト(Perl、Bash、またはCygwinで利用可能な他のもの)を作成したいと考えています。PerlまたはBashスレッドプールスクリプト?
myscript
が
command1
command2
command3
であれば、私は実行することができます。
threadpool -n 2 myscript
2つのスレッドは、command1
およびその他のcommand2
で始まるものを作成することでしょう。どちらのスレッドが最初にジョブを終了しても、最初にcommand3
を実行します。
Perlに潜入する前に(これは長い時間がかかりました)、私は専門家にこのようなものが既に存在するかどうか尋ねるべきだと考えました。マルチCPUマシンの利用と並列ネットワーク転送(wget
またはscp
)の両方に非常に役立つので、このようなものがあるはずです。私は正しい検索条件を知らないと思う。ありがとう!
これはいかがですか? http://www.rootninja.com/use-multiple-processors-in-bash-by-running-commands-in-parallel/ – carlpett
@ carlpettはい、答えがあります。 - xargs -P'ありがとうございます。 – paperjam
関連性が高い:http://stackoverflow.com/questions/4539310/does-a-modified-command-invocation-toolwhich-dynamically-regulates-a-job-pool(xargsは、多くのツールでうまくいきません(例:unzip) – daxim