GNU Parallel --sem 実行が SGE クラスタで中断される

GNU Parallel --sem 実行が SGE クラスタで中断される

次のSGEクラスタで3つのコマンドを並列に実行しようとしています。

cmds=("prog 1 2 3" "prog 4 5 6" "prog 7 8 9")
for cmd in "${cmds[@]}"
do
    sem -j 3 $cmd
done
sem --wait

したがって、私のコマンドは正常に実行され、完了します。これは生成された出力ログから推論でき、そのコマンドがノードで実行されなくなったことがわかります。ただし、qsub sem --waitを使用して送信すると、無期限に待機します。またはインタラクティブモードで実行し、a。手動でコマンドを入力し、b.どちらの方法も正常に完了します。 semの実行に私が見逃したことはありますか?

助けてくれてありがとう。

答え1

各コマンドを順番に実行します。スクリプトが到着すると、3つのsem --waitコマンドがすべて実行され、完了しました。

&sem -j 3 $cmdに1つを追加してみてください。これにより、バックグラウンドで各コマンドが並列に実行されます。

cmds=("prog 1 2 3" "prog 4 5 6" "prog 7 8 9")
for cmd in "${cmds[@]}"
do
    sem -j 3 $cmd &
done
sem --wait

関連情報