Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <sys/types.h>
- #include <unistd.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/wait.h>
- pid_t p;
- pid_t pp;
- pid_t ppp;
- pid_t pppp;
- int main()
- {
- switch(fork())
- {
- default:
- switch(fork())
- {
- case 0:
- printf("P2: pid potomka: %d ppid: %d\n", getpid(), getppid());
- p=getpid(); //P2
- exit(0);
- }
- printf("P1: pid przodka: %d ppid: %d [ %d ]\n ", getpid(), getppid(),p);
- switch(fork())
- {
- case 0:
- printf("P4: pid potomka: %d ppid: %d\n", getpid(), getppid());
- ppp=getpid(); //P4
- exit(0);
- }
- switch(fork())
- {
- case 0:
- printf("P5: pid potomka: %d ppid: %d\n", getpid(), getppid());
- pppp=getpid(); //P5
- switch(fork())
- {
- case 0:
- printf("P8: pid potomka: %d ppid: %d\n", getpid(), getppid());
- exit(0);
- }
- switch(fork())
- {
- case 0:
- printf("P9: pid potomka: %d ppid: %d\n", getpid(), getppid());
- exit(0);
- }
- wait(NULL);
- wait(NULL);
- exit(0);
- }
- switch(fork())
- {
- case 0:
- printf("P3: pid potomka: %d ppid: %d\n", getpid(), getppid());
- pp=getpid(); //P3
- switch(fork())
- {
- case 0:
- printf("P6: pid potomka: %d ppid: %d\n", getpid(), getppid());
- exit(0);
- }
- switch(fork())
- {
- case 0:
- printf("P7: pid potomka: %d ppid: %d\n", getpid(), getppid());
- switch(fork())
- {
- case 0:
- printf("P10: pid potomka: %d ppid: %d\n", getpid(), getppid());
- exit(0);
- }
- wait(NULL);
- exit(0);
- }
- wait(NULL);
- wait(NULL);
- exit(0);
- }
- wait(NULL);wait(NULL);wait(NULL);wait(NULL);wait(NULL);
- case 0:
- //printf("P3: pid potomka: %d ppid: %d\n", getpid(), getppid());
- exit(0);
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment