Platform LSF の場合、特定のジョブまたは送信されたすべてのジョブが終了するのを待ってから戻るコマンドはありますか?言い換えれば、bashのwait
組み込みコマンドに相当するLSFを探しています。
-K
オプションをbsub
に指定すると、ジョブが完了するのを待ってから戻ります。次に、シェルでいくつかのbsub
コマンドをバックグラウンドで実行し、シェルのwait
コマンドを使用してそれらを待つことができます。例:
#!/bin/bash
bsub -K -o out.1 sleep 10 &
bsub -K -o out.2 sleep 5 &
wait
bwait
例:
_bsub -J 'myjobname' -o bsub.log bash -c 'date && sleep 10'
bwait -w 'ended(myjobname)'
_
bwait
は、対応するbsub
が終了するまで待機します。
同じ方法は、_-K
_がサポートされていないジョブ配列でも機能します。
_bsub -J 'myjobname[1-40]' -o 'bsub%I.log" 'sleep $JOBINDEX && echo $JOBINDEX'
bwait -w 'ended(myjobname)'
_
ended()
の他にdone()
とexit()
もあり、終了ステータスが_0
_であるかどうかにかかわらず、bwait
は正常に終了します。それぞれ_0
_、それ以外の場合は次のように失敗します:
_Wait condition is never satisfied
_
lSFは、どちらの場合もジョブの状態が異なるためです。
関連ドキュメント: