#include<unistd.h>
#include<stdlib.h>
#include<stdio.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<errno.h>
#define NUM_HIJOS 2//
int main(void)
{
int ret,i;
for(i=1;i<=NUM_HIJOS;i++)
{
ret=fork();
if(ret==0)
{
printf("Yosoy el hijo %d mi padre es PID: %d,Yo soy PID= %d \n\n",i,getppid(),getpid());
if(i==2){
printf("Soy el hijo 3 mi proceso es= %d ", getpid());}
}
else if(ret>0)
{
ret=wait(NULL);
while(ret>0){
ret=wait(NULL);
}
if (ret==-1 && errno != ECHILD)
{
perror("fallo en wait");
exit(EXIT_FAILURE);
}
exit(EXIT_SUCCESS);
}
else if(ret== -1){
perror("fallo el fork");
exit(EXIT_FAILURE);
}
}
}
No hay comentarios:
Publicar un comentario