Wie ktoś może jak wprowadzić licznik procesow potomnych. Chciałbym ograniczyć procesy tak, aby każdy miał maksymalnie k procesow potomnych
- Rejestracja:ponad 7 lat
- Ostatnio:ponad 6 lat
- Postów:24
0
Nie, chciałbym ograniczyć bezpośrednich potomków, rodzic-dziecko. Jeżeli w pętli która przejdzie 4 razy puszcze forka(), to proces macierzysty, będzie miał 4 dzieci(bezposrednich), a ta 4 dzieci będzie miała od (0-3) dzieci. Chciałbym tak manipulować tą pętla, żeby każdy rodzic miał powiedzmy maksymalnie 2 dzieci. W pewnym momencie muszę ja przerwać, Chce ja przerwać wtedy gdy liczba dzieci przekroczy 2, ale żeby to zrobić musze wprowadzić licznik, którego nie potrafie wymyślić

- Rejestracja:około 8 lat
- Ostatnio:minuta
- Postów:155
0
Coś takiego może:
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
#include <sys/wait.h>
int main(int argc, char *argv[]){
pid_t childpid = -1;
int i, number;
number = atoi(argv[1]);
for (i = 1; i <= number; i++){
int j;
for (j = 0; j < 2; j++){
childpid = fork();
if (childpid <= 0) break;
}
if (childpid > 0) break;
}
while (wait(NULL) > 0) break;
printf("poziom: %d, ID: %ld ID rodzica: %ld, ID dziecka: %ld\n", i, (long)getpid(), (long)getppid(), (long)childpid);
return 0;
}
edytowany 2x, ostatnio: kiyo
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.