Inicia processos para serem executados em paralelo

4

Estou tentando iniciar 16 scripts python em paralelo.

Eu tentei fazer

for i in {0..15}
    do
    python my_script.py "$i"
    done 

Mas verificar meu htop é executado somente em um processador. Eu estou supondo que o processo está sendo executado em seqüência.

Claro, posso abrir uma nova guia e executar um processo em cada guia, mas isso parece ser redundante. Qual é a maneira correta de fazer isso?

    
por Akavall 28.09.2015 / 22:27

1 resposta

6

Você está procurando & , que executará trabalhos em segundo plano:

for i in {0..15}
do
    python my_script.py "$i" &
done

Isso vai lançar todos os 15 simultaneamente. Alternativamente, para um controle mais refinado, você pode querer verificar o paralelo GNU .

Para mais informações sobre os vários operadores de controle de shell, consulte aqui .

    
por terdon 28.09.2015 / 22:39

Tags