Maneira eficiente de iniciar vários scripts de shell a partir de um único script de shell

0

Isto é o que meu código parece

master_script.sh

#!/bin/bash
chmod +x *
declare -A test=(
    ["echo1"]="sh 'pwd'/echo1.sh"
    ["echo2"]="sh 'pwd'/echo2.sh"
    ["echo3"]="sh 'pwd'/echo3.sh")

log="$base_path"
for var in ${!test[@]}
do
    '${test[$var]} >> $var.log'
    echo "$var Started! :-)"
done

echoX.sh scripts parece com isso

#!/bin/bash
while true;do
    echo "This is from Test1"
    #some Code
    echo "Eching the Output"
    #some other code!
    sleep 60
done

A ideia é boa, mas como você sabe, o controle está aguardando em ${test[$var]} >> $var.log . Cada echoX.sh é while loop, portanto, o controle está aguardando para ser concluído. Eu quero começar todos os scripts

Como posso resolver este problema ?. NOTA: Existem planejamentos futuros implementam recursos como, como um único script como

./master_script.sh start echo1 , - > Começará apenas echo1

./master_script.sh stop echo1 --- > Parará apenas echo1

./master_script.sh start all - > vai começa todos os scripts

Então, é por isso que eu segui o procedimento acima.

Existem alguns outros pensamentos como ( Qual não quer fazer! )

echox.sh

#!/bin/bash
echo "This is from Test1"
#some Code
echo "Eching the Output"
#some other code!

nohup_echoX.sh

#!bin/bash
while true;do
  ./echoX.sh >> test.log 2>&1 &
done

Em seguida, no mater_script.sh , adicione o loop ./nohup_echoX.sh in for .

Então, existe alguma maneira de implementar isso? E mais, eu vi ( ps aux | grep <NAME> ), existem várias instâncias do mesmo processo em execução. Então, como posso controlar isso?

    
por Veerendra 20.11.2015 / 12:18

3 respostas

0

Altere a linha

'${test[$var]} >> $var.log'

para

"${test[$var]}" >> "$var.log" &
    
por 20.11.2015 / 13:11
4
O

paralelo do Gnu permitirá que você execute vários processos a partir do shell script em paralelo, aguardando sua conclusão.

    
por 20.11.2015 / 12:28
0

Eu encontrei Supervisord que é muito legal. Início fácil, fácil configuração, fácil gerenciar !. Confira este Blog saber usar e configurar: -)

    
por 26.04.2016 / 20:13