如何保持进程(压力)运行直到我运行测试用例

如何保持进程(压力)运行直到我运行测试用例

我想对我的软件进行压力测试。我有多个具有不同运行时间的测试用例。

目前,我正在运行具有所需选项的压力实用程序,并在另一个终端中运行测试用例。一旦测试用例结束,我就用 ctr+C 终止压力过程。

现在,我想创建一个脚本,该脚本将运行压力实用程序,然后运行测试用例,并且应该能够在测试用例结束后终止压力进程。

我现在有一个解决方法,可以解决压力问题,即 --timeout 选项。所以我运行如下:

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

一小时后,压力实用程序完成。但上述解决方法存在以下问题,即 ./runme 可能需要 1 分钟到 2-3 小时的时间。所以我不能提前设置超时值。

请建议一种方法来处理这个问题。

答案1

stresser在后台运行你的程序并注意它pid稍后将用于杀死它。现在开始您testcasesforeground.完成后testsuites,你继续杀死现在stresser

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

./rune //Testcases script

kill -9 "$pid_stress"

相关内容