Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/wait.h>
- #include <unistd.h>
- #include <sys/types.h>
- int main(){
- int filho1, filho2, neto1, neto2;
- //pid_t pid[4]={-1, -1, -1, -1};
- printf("Início do processo pai PID=%d\n", getpid());
- filho1 = fork();
- if(!filho1){
- printf("Filho1 com pid=%d e ppid=%d\n", getpid(), getppid());
- neto1=fork();
- if(!neto1){
- printf("Neto1 com pid=%d e ppid=%d\n", getpid(), getppid());
- exit(0);
- }
- wait(NULL);
- exit(0);
- }
- wait(NULL);
- if(filho1>0){
- filho2=fork();
- if(!filho2){
- printf("Filho2 com pid=%d e ppid=%d\n", getpid(), getppid());
- neto2=fork();
- if(!neto2){
- printf("Neto2 com pid=%d e ppid=%d\n", getpid(), getppid());
- exit(0);
- }
- wait(NULL);
- exit(0);
- }
- }
- wait(NULL);
- exit(0);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement