bashスクリプトをレイテンシーで実行する方法(つまり、各反復で1秒待機する)


28

このbashスクリプトがあります。

for (( i = 1 ; i <= 160 ; i++ )); do
  qsub myccomputations"${i}".pbs
done

基本的に、各反復の間に1秒の遅延がある場合、私は好むでしょう。その理由は、反復ごとに、プログラムファイルmycomputation"${i}$.pbsをコアノードに送信して解決するためです。動機は、このインスタンスでの解決には擬似乱数の使用が含まれ、使用するRNG(R's)はCPU時間をシードとして使用することです。

だからあなたはbashにどのように頼むのですか

for (( i = 1 ; i <= 160 ; i++ )); do
  wait 1 sec    
  qsub myccomputations"${i}".pbs
done

回答:


54

sleep 1Bashで使用するだけです。

for (( i = 1 ; i <= 160 ; i++ )); do
  sleep 1
  qsub myccomputations"${i}".pbs
done

1秒未満でスリープしたい場合は、浮動小数点数を使用できます
シェルホリック

0

トピックが示唆するものを達成したい場合は、「at」を使用する必要があります。

見る

      man at

詳細については。


1
オリー、ありがとう。確かに、私はタイトルを書き換えますので、将来のクエリのために、質問に対応します。
user2413

at特定の期間ループを中断しませんが、特定の時間に実行するプログラム/スクリプトを設定します。
ソレンA
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.