2011-02-01 4 views
1

в bash Мне нужно получить pid запущенного процесса, я знаю имя и родительский pid.
В пс ручное я прочитал вы можете выбрать процессы, используя такие аргументы:Bash/ps: получить pid запущенного «myscript.sh» дочернего процесса определенного процесса

< --ppid pidlist >

и

< -C cmdlist >

Итак, в orde г, чтобы получить идентификатор процесса приработки "myscript.sh" ребенка $ parentpid, я попробовал:

п.с. -C myscript.sh --ppid $ parentpid -o PID --no-заголовки

, но я получил все дочерние процессы $ parentpid. Аргумент -C, по-видимому, игнорируется, если я поменяю его на другой.

Любая помощь, особенно избегая sed и grep и тому подобное? Спасибо!

ответ

1

Дайте этому попытку:

pgrep -P $parentpid '^myscript.sh$' 

см Также Process Management.

+0

Chapeau. Это именно то, что мне нужно. – etuardu

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