Bash 스크립트에서 tcpdump의 PID 가져오기

Bash 스크립트에서 tcpdump의 PID 가져오기

tcpdumpwhile 루프의 일부인 PID를 얻으려고 합니다. 예:

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

$!while 루프 내부에는 PID가 제공되지 않습니다 tcpdump.

tcpdump이 구성에서 PID를 어떻게 얻을 수 있나요?

답변1

명령을 실행하고 나중에 조건부로 종료하려면 별도의 셸에서 실행할 수 있습니다.

bash -c 'tcpdump -xli eth0 | while read buffer; do
      if true; then exit; fi
    done'

관련 정보