Como manter o processo (stress) em execução até que eu tenha testcase em execução

1

Eu quero fazer testes de estresse do meu software. Eu tenho vários testcases comigo com diferentes tempos de execução.

Atualmente, estou executando o utilitário stress com as opções necessárias e executo o testcase em outro terminal. Uma vez que o testcase termina, eu mato o processo de stress com ctr + C.

Agora, quero criar um script que execute o utilitário stress e execute o testcase e seja capaz de eliminar o processo de estresse após o término do meu testcase.

Eu tenho uma solução a partir de agora com o estresse, ou seja, a opção --timeout. Então estou correndo da seguinte forma:

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

Após uma hora, o utilitário de estresse é concluído. Mas há o seguinte problema com a solução alternativa mencionada acima, ou seja, ./runme pode levar de 1 a 2 a 3 horas de tempo. Então não posso colocar o valor do tempo limite de antemão.

Por favor, sugira uma maneira de lidar com isso.

    
por Vivek Agrawal 30.03.2017 / 11:02

1 resposta

3

Execute seu stresser em segundo plano e observe que é pid , que será usado para eliminá-lo mais tarde. E agora inicie seu testcases no foreground . Após o testsuites terminar, vá em frente e mate o stresser agora:

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

./rune //Testcases script

kill -9 "$pid_stress"
    
por 30.03.2017 / 11:32