LINUX.ORG.RU

Когда рожаешь подсчитывать :)

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

>выгребай все процессы и смотри на их ppid
это будет количество живых порожденных процессов
но скорее всего это все что можно посчитать?

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

> это будет количество живых порожденных процессов

это точно

по условию не совсем понятно что он хочет ..

lg ★★
()

реально не узнать количество всех дочерних процессов, только тех которые в данный момент живы. Ст процедур нет

Проще ИМХО подсчитывать в родительском процессе при создании очередного и все.

alphex_kaanoken ★★★
()

wait() в программе-родителе ждет сигнала о статусе всего лишь одного из дочерних процессов. Но пока мы будем реагировать на этот wait - где гарантия, что другие процессы не закончатся?

Поэтому, родив n-ное кол-во процессов, не можем быть уверены, что в какой-то момент их стало, скажем n-1.

Если где-то очень глупо ошибаюсь, поправьте :) Выгребать из proc или еще откуда все процессы и смотреть ppid - не очень красиво с точки зрения реализации... неужели нет стандартных процедур? а есть такие, чтоб показывали, что у родителя вообще есть потомки?

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

>wait() в программе-родителе ждет сигнала о статусе всего лишь одного из дочерних процессов.

Смотри waitpid с pid=-1 и флагом WNOHANG.

>Но пока мы будем реагировать на этот wait - где гарантия, что другие процессы не закончатся?

Крути waitpid в цикле, пока он не вернет ошибку.

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