Bash: espere com timeout
Em um script Bash, gostaria de fazer algo como:
<code>app1 & pidApp1=$! app2 & pidApp2=$1 timeout 60 wait $pidApp1 $pidApp2 kill -9 $pidApp1 $pidApp2 </code>
Ou seja, inicie dois aplicativos em segundo plano e conceda a eles 60 segundos para concluir seu trabalho. Então, se eles não terminarem dentro desse intervalo, mate-os.
Infelizmente, o acima não funciona, já quetimeout
é um executável, enquantowait
é um comando shell. Eu tentei mudar para:
<code>timeout 60 bash -c wait $pidApp1 $pidApp2 </code>
Mas isso ainda não funciona, já quewait
só pode ser chamado em um PID lançado dentro do mesmo shell.
Alguma ideia?