2011-12-22 10 views
0

頻繁に発生する問題は、50以上の異なるパラメータ設定でいくつかのスクリプトを実行する必要があることです。昔、私も現代の時代には(例えば)qsub?

for i in `seq 1 50` 
do 
    ./myscript $i 
done 

のようなものを書きたい、すべての私のマシンは、一度に4つのまたは8つのスレッドを処理することができます。スクリプトはマルチスレッド化されていないので、一度に4つまたは8つのパラメータ化を実行し、古いものが終了すると自動的に新しいジョブを開始します。私は自分自身で危険なシステムを組み立てることができます(そしてこれまでもありました)が、これを行うLinuxのユーティリティが存在するはずです。助言がありますか?

+0

須藤はapt-getのそれは私が望んでいたまさにだ、gridengineに – bmargulies

答えて

1

GNU parallelこれです。これで、あなたの例では、次のようになります。

parallel ./myscript -- `seq 1 50` 
+0

感謝をインストールします。次のようにする必要があります:並列-j 4 ./myscript - 'seq 1 50' –

+0

しかし、うわー、仕事でテストできませんでした。この例を修正しました。 -jのデフォルトはコアの数なので、これは厳密には必要ではありません。 –

+0

引数はパイプラインではなく、コマンドラインで ' - 'の後に指定する必要があります。また、上記の私の例では、 'seq 1 50'でなければなりません。 –

関連する問題