• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Potok nienazwany pipe

42 Warsaw Coding Academy
0 głosów
490 wizyt
pytanie zadane 2 listopada 2017 w C i C++ przez AndekQR Użytkownik (880 p.)

Witam,

napisałem taki oto program:

#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main(){
	
	pid_t one, two, three, four;
	int fd[2];
	pipe(fd);

	one=fork();
	if(one==0)
	{
	//potomek1
	printf("Pid potomka1: %d\n", getpid());
	printf("Pid rodzica potomka1: %d\n", getppid());
	}	
	else
	{
	//rodzic
		two=fork();
		if(two==0)
		{
		//potomek2
		printf("Pid potomka2: %d\n", getpid());
		printf("Pid rodzica potomka2: %d\n", getppid());
		}
		else
		{
		//rodzic
			three=fork();
			if(three==0)
			{
			//potomek3
			printf("Pid potomka3: %d\n", getpid());
			printf("Pid rodzica potomka3: %d\n", getppid());
			}
			else
			{
			//rodzic
				four=fork();
				if(four==0)
				{
				//potomek4
				printf("Pid potomka4: %d\n", getpid());
				printf("Pid rodzica potomka4: %d\n", getppid());
				}
				else
				{
				//rodzic
				}
				
			}
		}
	}

return 0;
}

 

Może ktoś wytłumaczyć dlaczego tworzą się dwa rodzice, z których jeden posiada jednego potomka a drugi posiada trzech potomków? Według mojego rozumowania powinien być jeden rodzic z czterema potomkami.

1 odpowiedź

0 głosów
odpowiedź 3 listopada 2017 przez AndekQR Użytkownik (880 p.)

Przy tworzeniu 3 potomków program działa ok, czyli:

Pid potomka1: 3453
Pid rodzica potomka1: 1196
Pid potomka3: 3455
Pid rodzica potomka3: 1196
Pid potomka2: 3454
Pid rodzica potomka2: 1196

ale juz dla 4 potomków:

Pid potomka1: 3427
Pid rodzica potomka1: 3426
Pid potomka3: 3429
Pid rodzica potomka3: 1196
Pid potomka2: 3428
Pid rodzica potomka2: 1196
Pid potomka4: 3430
Pid rodzica potomka4: 1196

 

Podobne pytania

+1 głos
0 odpowiedzi 457 wizyt
0 głosów
2 odpowiedzi 519 wizyt
0 głosów
0 odpowiedzi 163 wizyt
pytanie zadane 25 września 2016 w C i C++ przez Prime_Bull Obywatel (1,820 p.)

93,398 zapytań

142,390 odpowiedzi

322,576 komentarzy

62,756 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...