LINUX.ORG.RU

Получение pidов children процессов


0

0

Добрый день, сталкивался ли кто либо с получением информации, о children процессов имея на руках тока parent процесс? Интересует информация как это сделать из user-mode. Спасибо.

anonymous
Ответ на: комментарий от anonymous

Как в анекдоте... Вчера Васю били... а ты что? Я... я ничего, я не Вася.

Сори не Андрей я, но сути вопрос от этого не меняет.

anonymous
()
Ответ на: комментарий от klalafuda

Самое простое решение, использовать бы не хотелось бы (как пример perl - ptree), поскольку пишу на си (дорабатываю CryoPID )

anonymous
()
Ответ на: комментарий от anonymous

> Самое простое решение, использовать бы не хотелось бы (как пример perl - ptree), поскольку пишу на си (дорабатываю CryoPID )

собственно а в чём именно проблемы? приведённый аргумент "поскольку пишу на си" совершенно не впечатляет.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от klalafuda

Проблемам заданна в вопросе, вот то что ответа ни кто не знает, это действительно "впечатляет".

anonymous
()
Ответ на: комментарий от anonymous


вопрос:
Добрый день, сталкивался ли кто либо с получением информации, о children процессов имея на руках тока parent процесс? Интересует информация как это сделать из user-mode. Спасибо.

ответ:
просканировать содержимое /proc

ответ полностью удовлетворяет поставленному вопросу. если есть какие то дополнительные ограничения, не отражённые в оригинальном вопросы, уточняйте их.

> Проблемам заданна в вопросе, вот то что ответа ни кто не знает, это действительно "впечатляет".

"человек сам творец своих проблем" (с) FIDO
ищите, какие проблемы...

// wbr

klalafuda ★☆☆
()

>> получением информации, о children процессов имея на руках тока parent процесс

Какой информации? Так сойдет:
for child in $(ps -o pid,ppid -ax | \
   awk "{ if ( \$2 == $pid ) { print \$1 }}")
do
  echo "Killing child process $child because ppid = $pid"
  kill $child
done

?

cathode
()

$ grep '^PPid:' /proc/*/status | grep $$\$
/proc/13372/status:PPid:        6647
/proc/13464/status:PPid:        6647
/proc/13465/status:PPid:        6647

Реализуй это на своем ЯП.

sdio ★★★★★
()

прицепиться на вызов fork и сохранять их где-нибудь?

generatorglukoff ★★
()
Ответ на: комментарий от dilmah

pid=$(ps -o user,pid,ppid,command -ax | grep httpd | \
  grep root | awk '{print $2}')

for child in $(ps -o pid,ppid -ax | \
   awk "{ if ( \$2 == $pid ) { print \$1 }}")
do
  echo "Killing child process $child because ppid = $pid"
  kill $child
done

kto_tama ★★★★★
()
Ответ на: комментарий от balodja

ктож спорит, просто там понятно откуда именно и что надо брать.

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.