Criando várias telas em um loop for para executar programas parelelos e enviar comandos para cada

2

Antes de assinalar estas questões como redundantes, li e tentei todas as respostas para perguntas semelhantes sem sucesso

Eu tenho esse loop onde ele percorre uma estrutura de diretórios e executa um programa (que leva minutos para concluir) em cada subdiretório em uma tela separada. Eu não quero ver a saída das telas e quero que todas executem o programa em segundo plano em paralelo. Até agora eu tenho

for ((i = 1; i <= noLines; i++))
do
# code to change path to point to next executable goes here

screen -d -m -S results_$i -X stuff $(./runSimulator.sh 1 5 results) $'2'    

done

O que acontece é que o código é executado na tela ativa atual e o código é serializado na mesma tela. Eu preciso executar várias versões ao mesmo tempo em telas diferentes. Você poderia ajudar por favor?

Eu tentei todos estes e não funcionou (erros (nenhum socket encontrado) / nada aconteceu ou mesmo como acima)

  1. tela -d -m ./runSimulator.sh 1 5 resultados $ '\ 012'
  2. tela -d -m -S resultados_ $ i -X tela $ (./ runSimulator.sh 1 5 resultados) $ '\ 012'
  3. tela -d -m -S resultados_ $ i tela -S results_ $ i -X stuff $ (./ runSimulator.sh 1 5 resultados) $ '\ 012'

por favor ajude

    
por The Byzantine 27.03.2014 / 01:02

0 respostas