Получить PID tcpdump в сценарии bash

Я пытаюсь получить PID tcpdump который является частью цикла while. Пример:

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

$! внутри цикла while не будет PID tcpdump .

Как получить PID tcpdump в этой конструкции?

One Solution collect form web for “Получить PID tcpdump в сценарии bash”

Если вы хотите запустить команду и выйти из нее условно позже, вы можете запустить ее в отдельной оболочке:

 bash -c 'tcpdump -xli eth0 | while read buffer; do if true; then exit; fi done' 
  • Повтор pcap только на локальной машине
  • Запуск tcpdump, tee и scp
  • Ping и tcpdump одновременно
  • Трафик tcpdump трафика через SSH - но нет доступа root ssh
  • Подсчитайте все сетевые запросы на конкретный хост
  • Tcpdump - подсчет исходящих и входящих пакетов UDP
  • Файловая система пишет, казалось бы, потерянную
  • односторонняя синхронизация файлов с унисонной или лучшей альтернативой
  • Почему tcpdump захватывает многие пакеты с помощью «(tcp-syn)! = 0», но не с «tcp & (tcp-syn)! = 0"
  • Можно ли захватить весь сетевой трафик с помощью tcpdump?
  • Размер буфера для захвата пакетов в пространстве ядра?
  • Linux и Unix - лучшая ОС в мире.