LINUX.ORG.RU

[C]Количество fork`ов

 


0

0

Есть задача: программа должна форкаться, при чём одновременно должно быть не более N форков. Есть ли стандартное средство, с помощью которого можно ограничить кол-во форков? Пробовал RLIMIT_NPROC, но это не помогло. Писать костыли не очень хочется

пусть новые процессы создаёт только родительский процесс. Тогда можно будет это дело подсчитать. При умирании ребёнка(SIGCHLD) можешь снова форкаться.

true_admin ★★★★★
()
Ответ на: комментарий от anonymous
void make_fork() {
if (N || wait(0)) {
if (!fork()) {
//тут что-то делает форк
}
if (N) --N;
}

вроде должно запускать не более N форков

hired777
() автор топика

Считать форки нетрудно. Труднее разработать правильный алгоритм работы в случае, когда форки кончились. Что делать-то будем?
Кстати, лучшие собаководы рекомендуют для типовых задач пулы, вместо форкания «по месту».

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