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'

関連情報