You are on page 1of 3

INTRODUCCION.

Si queremos que nuestro programa empiece a ejecutar varias cosas "a la vez",
tenemos dos opciones. Por una parte podemos crear un nuevo proceso y por
otra, podemos crear un nuevo hilo de ejecución (un thread). En realidad
nuestro ordenador, salvo que tenga varias cpu, no ejecutará varias cosas a la
vez. Cuando digo "a la vez", me refiero a que el sistema operativo irá
ejecutando cachos de programa por turnos (por rodajas de tiempo) de forma
muy rápida, dando la sensación de simultaneidad.

OBJETIVO.

Este programa hace una comunicacion entre los procesos como uno padre, uno
hijo, un abuelo y hasta un bisabuelo

#include<stdio.h>

#include<unistd.h>

main()

int pid;

pid= fork();

switch(pid)

case -1: perror("ERROR EN LA CREACION DE FORK\n");

exit(-1);

case 0: pid=fork();

switch(pid)

{
case -1: perror("ERROR EN LA CREACION DE FORK\n");

exit(-1);

case 0: pid=fork();

switch(pid)

case -1: perror("ERROR EN LA CREACION DE


FORK\n");

exit(-1);

case 0: printf("SOY EL BISNIETO\n");

exit(1);

default:printf("SOY EL NIETO\n");

exit(0);

}//FIN SWITCH

exit(1);

default: printf("SOY EL HIJO\n");

exit(0);

}//FIN SWITCH

exit(1);

default: printf("SOY EL PADRE\n");

exit(0);

}//FIN SWITCH

}
Ejecucion del Programa