CODIGO PID 1450
#include <sys/types.h>#include <sys/wait.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#define NUM_HIJOS 3
int main (void)
{
int ret,i;
for(i=0;i<NUM_HIJOS;i++)
{
ret=fork();
if(ret==0)
{
printf("Yo soy el hijo %d, mi padre es PID=%d, yo soy PID=%d \n",i,getpid(),getpid());
}
else if (ret>0)
{
ret=wait(NULL);
while(ret>0)
{
ret=wait(NULL);
}
}
if(ret==-1 && errno!=ECHILD)
{
perror("Falo en WAIT");
exit(EXIT_FAILURE);
exit(EXIT_SUCCESS);
}
else if(ret==-1)
{
perror("Fallo en Fork");
exit(EXIT_FAILURE);
}
}
}
PRACTICA 4
#include <sys/wait.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#define NUM_HIJOS 2
int main (void)
{
int ret,i;
for(i=0;i<NUM_HIJOS;i++)
{
ret=fork();
if(ret==0)
{
printf("Yo soy el hijo %d, mi padre es PID=%d, yo soy PID=%d y mi hijo es %d\n",i,getpid(),getpid(),
getppid());
}
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 en Fork");
exit(EXIT_FAILURE);
}
}
}
{
int ret,i;
for(i=0;i<NUM_HIJOS;i++)
{
ret=fork();
if(ret==0)
{
printf("Yo soy el hijo %d, mi padre es PID=%d, yo soy PID=%d y mi hijo es %d\n",i,getpid(),getpid(),
getppid());
}
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 en Fork");
exit(EXIT_FAILURE);
}
}
}
Publicado por Ma. Isabel Serrano Medina 1701
No hay comentarios:
Publicar un comentario