Como posso executar isso em segundo plano e lançar 5 instâncias?

1
cat /export/home/tmp/name_file.txt|while read line
do
        run -i name_file.tx $line  > /dev/null 2>&1
        address name_file.txt $line > /dev/null 2>&1
        sleep 1
done
    
por suaveaz 16.02.2017 / 00:42

1 resposta

2

Se você deseja executar o snippet de código em sua pergunta cinco vezes em segundo plano, uma maneira fácil de fazer isso é colocar o código em um arquivo, script.sh , e executá-lo como um trabalho em segundo plano em um loop cinco vezes:

Supondo que você esteja usando bash ou ksh93 :

$ for i in {1..5}; do ./script.sh & done

Essa seria a maneira mais fácil.

É claro que o loop pode entrar no próprio script:

#!/bin/ksh

for i in {1..5}; do
    cat /export/home/tmp/name_file.txt|while read line
    do
            run -i name_file.tx $line  > /dev/null 2>&1
            address name_file.txt $line > /dev/null 2>&1
            sleep 1
    done &
done

Aqui está uma alternativa, do jeito que eu teria escrito:

#!/bin/ksh

for i in {1..5}; do
    while read -r name
    do
        run -i name_file.txt "$name"
        address name_file.txt "$name"
        sleep 1
    done </export/home/tmp/name_file.txt >/dev/null 2>&1 &
done 
    
por 16.02.2017 / 01:00