É possível executar paralelamente em segundo plano. Recentemente, eu estava trabalhando em scripts similares que eu precisava executar em paralelo e recebi as sugestões em esta resposta. Se você acessar o link especificado como parte da minha resposta, veja a resposta abaixo.
O GNU Parallel pode funcionar como um semáforo de contagem. Isso é mais lento e menos eficiente que o modo normal.
Um alias para parallel --semaphore
é sem
. O padrão é permitir que apenas um programa seja executado por vez (tecnicamente chamado de mutex). O programa é iniciado em segundo plano. Use --wait
para todos os sems terminar:
sem 'sleep 1; echo The first finished' &&
echo The first is now running in the background &&
sem 'sleep 1; echo The second finished' &&
echo The second is now running in the background
sem --wait
Se você ver os exemplos no link que eu forneci, você pode definitivamente encontrar o que está procurando.