Как получить два идентификатора процесса Linux, созданные в одной строке, с помощью сценария оболочкиLinux

Ответить
Anonymous
 Как получить два идентификатора процесса Linux, созданные в одной строке, с помощью сценария оболочки

Сообщение Anonymous »

У меня есть команда для запуска 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, но не время ожидания. Я хотел бы получить идентификатор процесса обоих процессов и отобразить его в сценарии, чтобы исполнитель мог использовать их для завершения двух процессов в более поздний момент времени.
Я не знаю. хочу убить все процессы, используя

Код: Выделить всё

pkill tcpdump; pkill timeout;
здесь. Я хотел бы завершить работу только с использованием идентификатора процесса.
Как это достижимо?

Подробнее здесь: https://stackoverflow.com/questions/784 ... shell-scri
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»