PID команды составной оболочки

В вашей оболочке (в моем случае bash) вы можете получить pid последнего фонового процесса с помощью $! Переменная:

command &
echo $!

Однако меня интересует составная команда:

commandA | commandB &
echo $!

В этом случае значение $! похоже, это PID команды B. Я ищу PID commandA. Есть ли простой способ получить его?


person Brian Ferris    schedule 13.12.2010    source источник


Ответы (2)


Посмотрите на этот вопрос: Как получить PID процесса, который передается другому процессу в Bash?

Вы должны найти там то, что вам нужно.

person MatthieuP    schedule 13.12.2010
comment
Я нашел там несколько хороших идей, но, в конце концов, я просто выбрал ps | грэп | awk-решение для получения pid первого процесса в цепочке. - person Brian Ferris; 13.12.2010

jobs -l перечислит PID каждого члена конвейера.

person Dennis Williamson    schedule 13.12.2010