- #include<stdlib.h>
- #include<stdio.h>
- #include<unistd.h>
- #include<sys/wait.h>
- int P2,P3,P4,P5,P6,P7,P8,P9,P10;
- int main()
- {
- P2=fork();
- switch(P2)
- {
- case 0:
- P4=fork();
- switch(P4)
- {
- case 0:
- printf("P4: PID= %d, PPID= %d, Potomek= Brak\n",getpid(),getppid());
- exit(0);
- }
- P5=fork();
- switch(P5)
- {
- case 0:
- printf("P5: PID= %d, PPID= %d, Potomek= Brak\n",getpid(),getppid());
- exit(0);
- }
- P6=fork();
- switch(P6)
- {
- case 0:
- printf("P6: PID= %d, PPID= %d, Potomek= Brak\n",getpid(),getppid());
- exit(0);
- }
- printf("P2: PID= %d, PPID= %d, Potomek= %d,%d,%d\n",getpid(),getppid(),P4,P5,P6);
- wait(NULL);
- wait(NULL);
- wait(NULL);
- exit(0);
- }
- P3=fork();
- switch(P3)
- {
- case 0:
- P7=fork();
- switch(P7)
- {
- case 0:
- printf("P7: PID= %d, PPID= %d, Potomek= Brak\n",getpid(),getppid());
- exit(0);
- }
- P8=fork();
- switch(P8)
- {
- case 0:
- printf("P8: PID= %d, PPID= %d, Potomek= Brak\n",getpid(),getppid());
- exit(0);
- }
- P8=fork();
- switch(P9)
- {
- case 0:
- printf("P9: PID= %d, PPID= %d, Potomek= Brak\n",getpid(),getppid());
- exit(0);
- }
- printf("P3: PID= %d, PPID= %d, Potomek= %d,%d,%d\n",getpid(),getppid(),P7,P8,P9);
- wait(NULL);
- wait(NULL);
- wait(NULL);
- exit(0);
- }
- default:
- printf("P1: PID= %d, PPID= %d, Potomek= %d,%d\n",getpid(),getppid(),P2,P3);
- wait(NULL);
- wait(NULL);
- exit(0);
- }
- }