Obtenha o PID do tcpdump no script bash [duplicado]

1

Estou tentando obter o PID de tcpdump , que faz parte de um loop while. Exemplo:

tcpdump -x -q -l -i $IFACE port $PORT | while read buffer; do
   # process, if something received from tcpdump. Otherwise wait
done

$! dentro do loop while não fornecerá o PID de tcpdump .

Como obter o PID de tcpdump nessa construção?

    
por autio 02.08.2017 / 10:39

1 resposta

0

Se você deseja executar o comando e sair dele mais tarde, você pode executá-lo em um shell separado:

bash -c 'tcpdump -xli eth0 | while read buffer; do
      if true; then exit; fi
    done'
    
por 02.08.2017 / 11:02