テストケースを実行するまでプロセス(ストレス)を実行し続ける方法

テストケースを実行するまでプロセス(ストレス)を実行し続ける方法

私のソフトウェアをストレステストしたいです。実行時間が異なるいくつかのテストケースがあります。

現在、私は必須オプションを使用してストレスユーティリティを実行しており、他の端末でテストケースを実行しています。テストケースが終了したら、Ctrl + Cを押してストレスプロセスを終了します。

それでは、ストレスユーティリティを実行してからテストケースを実行し、テストケースの後にストレスプロセスを終了できるスクリプトを作成したいと思います。

これで、ストレスの問題を解決する回避策である --timeout オプションがありました。だから私は次のように実行します。

stress -c 16 --timeout 3600 
./runme //Testcase script

1時間後に圧力ユーティリティが完了します。ただし、上記の回避策には次の問題があります。つまり、./runme が 1 分から 2~3 時間かかることがあります。したがって、タイムアウト値を事前設定することはできません。

この問題を処理する方法を提案してください。

ベストアンサー1

stresserプログラムがバックグラウンドで実行され、pid後でプログラムを終了するために使用されることに注意してください。今testcases始めてくださいforeground。完了したら、testsuites今すぐ終了してくださいstresser

stress -c 16 & #<--- note no timeoutoption given and assuming now it runs forever
pid_stress=$!

./rune //Testcases script

kill -9 "$pid_stress"

おすすめ記事