私のソフトウェアをストレステストしたいです。実行時間が異なるいくつかのテストケースがあります。
現在、私は必須オプションを使用してストレスユーティリティを実行しており、他の端末でテストケースを実行しています。テストケースが終了したら、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"