spawn programa externo em segundo plano dentro de um loop

1

Estou tentando testar (em um nível muito básico) um servidor simulando vários programas clientes com o seguinte:

for i in {1..5} ; do echo ./client-program& ; done

mas falha com:

bash: syntax error near unexpected token ';'

Como posso alcançar o acima e também armazenar std:out e std::err de cada instância invocada do "programa cliente" em arquivos separados? (para que eu possa mais tarde diff deles para igualdade).

    
por Marcus Junius Brutus 29.11.2013 / 19:51

1 resposta

3

O ; é redundante, & já serve como um separador, portanto, você não precisa de mais nada. Para capturar stdout e stderr, faça:

for i in {1..5} ; do ./client-program > "$i.out" 2> "$i.err" & done
    
por 29.11.2013 / 20:09

Tags