Como redirecionar a saída de jobs em background?

1
ping6 ipv6.google.com &

Depois de digitar isso no terminal, o comando é executado em segundo plano. No entanto, ele ainda gera a saída para o primeiro plano e imprime o resultado para o terminal.

Como fazê-lo exibir a saída em segundo plano?

    
por Kim 26.02.2011 / 22:48

3 respostas

2

Você precisa redirecionar para o dispositivo nulo :

ping google.com >/dev/null
    
por Takkat 26.02.2011 / 23:03
1

Eu sei apenas duas maneiras de resolver isso.

Use a opção -q em ping como este ping -q google.com , o que faz com que ele exiba apenas as linhas de resumo na inicialização e na saída ou você redireciona a saída para /dev/null como este ping google.com > /dev/null .

    
por Octavian Damiean 26.02.2011 / 23:06
0

Você pode querer tentar a tela.

Basta executar screen em um terminal. Você será recebido por uma pequena tela com algumas informações sobre a tela e um aviso de direitos autorais. Uma vez que você aperte enter, um novo shell é iniciado "dentro" da tela.

Execute seu comando ping lá, sem o & por trás dele.

Agora você pode desanexar da tela pressionando Ctrl + A + D. Você estará de volta ao shell de onde você correu a tela. Os programas que estão "dentro" da tela continuarão sendo executados em segundo plano.

Para reconectar a tela, execute screen -r e você verá a saída produzida pelo seu comando ping novamente.

link

    
por geirha 27.02.2011 / 02:01