Capture a saída do comando por n segundos e, em seguida, desanexe-a (execute em segundo plano)

2

Eu preciso executar um certo comando (ngrok neste caso) por alguns segundos, capturar toda a saída, filtrar algumas variáveis e então separar o processo, fazendo com que ele seja executado em segundo plano. Como posso fazer isso?

    
por freemanovec 29.07.2017 / 19:01

1 resposta

1
(cmd &) | (timeout --foreground 2 cat; cat > /dev/null &)

Mostraria a saída de cmd por 2 segundos e depois retornaria, com cmd sendo executado em segundo plano com a saída indo para /dev/null .

Você pode redirecionar isso para um arquivo ou armazenar em uma variável com:

var=$(that command)
    
por 29.07.2017 / 19:42