Subshells não funciona

1

Eu quero executar vários comandos em paralelo, mas não tenho ideia do motivo pelo qual o seguinte código não funciona.

#!/bin/bash
( ping 8.8.8.8 )
( ping 192.168.0.1 )

Ignora completamente o segundo comando ping. Por que isso acontece?

Edit: OK, agora eu sei que você pode executá-los em paralelo fazendo & .

ping 8.8.8.8 & ping 192.168.0.1

Mas por que o código acima não funcionou?

    
por mkdrive2 05.03.2016 / 12:08

1 resposta

2

Um subshell não é forking por padrão e você também teria que usar & para enviá-lo para o segundo plano para executar o segundo subshell sem esperar que o primeiro subshell terminasse.

por exemplo,

ping 8.8.8.8 & ping 192.168.0.1
    
por 05.03.2016 / 13:02

Tags