Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > количество дочерних процессов |
Автор: xixadi 16.4.2010, 21:12 |
Есть ли специальные функции для определения количества дочерних процессов у данного родительского. Или может можно как-нибудь по-другому контролировать число дочерних процессов? |
Автор: MAKCim 17.4.2010, 09:02 |
смотреть ppid всех процессов или самостоятельно контролировать (если создаете сами) |
Автор: xixadi 17.4.2010, 09:53 |
Проблема возникает в том, что при завершении дочерних процессов родительский процесс должен быть проинформирован об этом и должен изменять число своих рабочих дочерних процессов. С помощью сигналов у меня что-то не получается. |
Автор: MAKCim 17.4.2010, 12:58 |
"что-то не получается" не значит, что надо использовать что-то другое ;) что не получается? |
Автор: xixadi 17.4.2010, 18:45 |
Дочерний процесс при завершении работы посылает сигнал SIGCHLD родительскому процессу. Родительский процесс принимает этот сигнал и с помощью обработчика уменьшает на 1 число своих рабочих дочерних процессов. А вот если несколько(n) дочерних процессов заканчиваются одновременно, то и сигналы SIGCHLD они посылают одновременно. Но родительский процесс воспринимает их как один сигнал и обработчик уменьшает на 1 число рабочих дочерних процессов, хотя реально их стало меньше на n. |
Автор: MAKCim 18.4.2010, 09:19 | ||
xixadi, используйте следующую идиому
|