Execute dois arquivos shell com thread

0

Como posso executar dois shell de arquivo em paralelo e não compartilhei o mesmo jvm. pode ser eu uso thread, mas como eu corro dois shell de arquivo bu duas thread? Arquivo 1:

#!/bin/bash
#
# Script for running several experimentations one the same JVM
# Usage : TRACE_DIR NB_EXPE Factories... 
#

param="parameter1"
another="parameter2"

for ((i = 10; i >= 0; i -= 1))
do
echo "run my file with param another " 
done  

Arquivo 2:

#!/bin/bash
#
# Script for running several experimentations one the same JVM
# Usage : TRACE_DIR NB_EXPE Factories... 
#

a="101" b="400" c="500"

echo "run my programme with a b c "
    
por user1149157 29.03.2012 / 11:34

1 resposta

1

Se você deseja executar dois scripts de shell em paralelo, use a seguinte sintaxe:

script1 & script2 &

Como exemplo, dê uma olhada no seguinte script de teste (denominado p1 ):

i=1
while true;
do
    echo "1 $((i++))"
    sleep 1
    if [ $i -gt 10 ]; then break; fi
done

Contará para 10 e ecoará “1” antes do contador. Após 10 iterações, sai.

Agora, se você criar uma versão p2 , basta modificar o echo um pouco:

    echo "2 $((i++))"

Tente executar os scripts com a sintaxe acima:

$ ./p1 & ./p2 &
1 1
2 1
1 2
2 2
1 3
2 3
1 4
2 4
1 5
2 5
1 6
2 6
1 7
2 7
1 8
2 8
1 9
2 9
1 10
2 10

Como você pode ver, ambos os scripts exibem sua saída e saem após 10 rodadas. Note que a saída é mista, então eles rodam em paralelo.

    
por lgarzo 29.03.2012 / 12:36