2010-12-13 4 views
1

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

command & 
echo $! 

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

commandA | commandB & 
echo $! 

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

ответ

1

Посмотрите на этот вопрос: How to get the PID of a process that is piped to another process in Bash?

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

+0

Я нашел там несколько хороших идей, подумал, что в итоге я просто пошел с решением «ps | grep | awk» для вытягивания pid первого процесса в цепочке. –

2

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

+0

Я никогда раньше не видел эту команду. Благодаря! –

Смежные вопросы