for ((i=0; i<10; i++)); do
java testerPackage.BubblerSimulation &
javapid=$!
sleep 10
kill -TERM $javapid
wait $javapid
done
Usando &
depois que um comando é executado em segundo plano e continua no próximo comando. Em seguida, capturamos o pid (ID do processo) do último comando em segundo plano que está no valor de variável especial de $!
.
sleep
é um comando que simplesmente pausará pelo número especificado de segundos.
Em seguida, usamos o comando kill
com o pid capturado para informar ao processo java
para finalizar a si mesmo e aguardar a limpeza ser concluída antes de repetir a próxima execução do loop.