周波数が異なる2つのアプリケーションを実行するには、bashでスクリプトが必要です。私はbashの経験がありませんし、いくつかの助けが必要ですBashで周波数が異なる2つの操作を実行する
私は2つのプログラムm1とm2を時間の経過とともに異なる速度で実行する(ストレステスト)があります。 m1は、例えば、10秒ごとに、m2は30秒ごとに実行される。しかし、周波数を変更することが可能でなければなりません
周波数が異なる2つのアプリケーションを実行するには、bashでスクリプトが必要です。私はbashの経験がありませんし、いくつかの助けが必要ですBashで周波数が異なる2つの操作を実行する
私は2つのプログラムm1とm2を時間の経過とともに異なる速度で実行する(ストレステスト)があります。 m1は、例えば、10秒ごとに、m2は30秒ごとに実行される。しかし、周波数を変更することが可能でなければなりません
他の回答のカップル簡単にするために:あなたの「M1」と「M2」コマンドが実行に時間がかかる場合は、あなたがそれらのすべてを実行していないということ
$ while sleep 10; do echo 1; done &
$ while sleep 30; do echo 2; done &
注意を10/30秒。睡眠は、1回の走行の終了と次の走行の開始との間の遅延である。
スケジュールを10時間30秒ごとに実行したい場合は、cronを使用してください。あなたが眠りにオフセット複数のcronジョブを、持っている必要がありますので、cronは、1分に1回実行されます。m1
を実行するために10秒以上かかる場合、あなたはあなたのコンピュータが消えさせる可能性がある、重複するだろうということ
* * * * * m1
* * * * * sleep 10; m1
* * * * * sleep 20; m1
* * * * * sleep 30; m1
* * * * * sleep 40; m1
* * * * * sleep 50; m1
* * * * * m2
* * * * * sleep 30; m2
注意を量子特異点となる。
+1すばらしい、3つの答えが最高のものまで構築されています。 – l0b0
私はあなたが探していると思うのは、whileループと組み合わせてsleepコマンドです。
while true; do m1;sleep 10;done
while true; do m2; sleep 30;done
テストを並行して実行したい場合は、両方ともバックグラウンドにする必要があります。スリープは実際のコマンドを実行するのにかかる時間を無視するため、指定した間隔よりも間隔が長くなる可能性があります。間隔を変更する唯一の方法は、実行中のジョブを強制終了し、 'sleep'ステートメントで別の秒数で再起動することです。 – tripleee
$ while true; do sleep 10; echo 1; done &
$ while true; do sleep 30; echo 2; done &
1
1
2
1
1
1
2
...
cronを使用すると、20秒おきに30秒ごとにスクリプトを実行できます。 – Juanma