Bash: esperar con tiempo de espera
En un script de Bash, me gustaría hacer algo como:
app1 &
pidApp1=$!
app2 &
pidApp2=$1
timeout 60 wait $pidApp1 $pidApp2
kill -9 $pidApp1 $pidApp2
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
timeout 60 bash -c wait $pidApp1 $pidApp2
Pero esto todavía no funciona, ya quewait
Solo se puede llamar en un PID lanzado dentro del mismo shell.
¿Algunas ideas?