У меня есть команда для запуска tcpdump по таймауту. Итак, у меня есть сценарий оболочки, написанный для запуска этого процесса и предоставления исполнителю сценария оболочки идентификаторы процессов, созданные в сценарии оболочки. Мой сценарий оболочки выглядит так:
Код: Выделить всё
#!/bin/bash
TIMEOUT_DURATION=3600
TIMEOUT=${v_TIMEOUT:-$TIMEOUT_DURATION}
FILTER=${v_FILTER:-} # make sure this parameter is URI encoded if it has special symbols inside filter
FILENAME=$(date +%s).log
TCPDUMP_PID=$(timeout 3600 tcpdump -i eth0 -w $FILENAME $FILTER > /dev/null 2>&1 & echo $!)
echo "TCPDUMP_PID=$TCPDUMP_PID"
Но я получаю только идентификатор процесса tcpdump, но не время ожидания. Я хотел бы получить идентификатор процесса обоих процессов и отобразить его в сценарии, чтобы исполнитель мог использовать их для завершения двух процессов в более поздний момент времени.
Я не знаю. хочу убить все процессы, используя
здесь. Я хотел бы завершить работу только с использованием идентификатора процесса.
Как это достижимо?
Подробнее здесь:
https://stackoverflow.com/questions/784 ... shell-scri