Bash: esperar con tiempo de espera
En un script de Bash, me gustaría hacer algo como:
<code>app1 & pidApp1=$! app2 & pidApp2=$1 timeout 60 wait $pidApp1 $pidApp2 kill -9 $pidApp1 $pidApp2 </code>
Es decir, lanzar dos aplicaciones en segundo plano y darles 60 segundos para completar su trabajo. Luego, si no terminan dentro de ese intervalo, mátalos.
Desafortunadamente, lo anterior no funciona, ya quetimeout
es un ejecutable, mientraswait
es un comando de shell. Intenté cambiarlo a
<code>timeout 60 bash -c wait $pidApp1 $pidApp2 </code>
Pero esto todavía no funciona, ya quewait
Solo se puede llamar en un PID lanzado dentro del mismo shell.
¿Algunas ideas?