複数のジョブがクラスタで実行されたかどうかを確認できるシステムを生成しようとしています。 このbashのコードは、すべてのPBSジョブが完了するまで待機するように動作するはずです:PBSPROジョブをアレイに格納してジョブの完了を確認する方法は?
#create the array
ALLMYJOBS=()
# loop through scripts, submit them and store the job IDs in the array
for i in 1 2 3 4 5
do
ALLMYJOBS[${i}]=$(qsub script${i}.bash)
done
JOBSR=true
# check if all jobs have completed:
while [ ${JOBSR} ];do
JOBSR=false
for m in "${ALLMYJOBS[@]}"
do
if qstat ${m} &> /dev/null; then
JOBSR=true
fi
done
done
私は明らかに何かが足りないのですか? [ "$ {JOBSR}" = "真"]ながら
;これは明らかに動作します
の操作を行います。
これを実行すると結果はどうなりますか? –
それはループを離れることはありませんでしたが、間違いを発見しました – Filicado