LINUX.ORG.RU

Re: Как узнать количество порожденных процессов

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

chucha ★★★☆ ()

Re: Как узнать количество порожденных процессов

выгребай все процессы и смотри на их ppid

lg ★★ ()

Re: Re: Как узнать количество порожденных процессов

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

Murr ★★ ()

Re: Как узнать количество порожденных процессов

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

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

alphex_kaanoken ★★★ ()

Re: Как узнать количество порожденных процессов

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

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

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

anonymous ()

Re: Re: Как узнать количество порожденных процессов

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

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

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

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

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