#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
main(){
//En este programa se crea un hijo y se muere y le devuelve al padre
//el numero 10 con el exit(10), el wait solo retorna su pid de proceso
//pero el puntero wait(* estado) devuelve el numero de exit
//El WEXITSTATUS devuelve el valor de los 8 menos significativos.
// y los otros son para el control (WIFEXITED y WIFISIGNALED).

int var, estado, id , control1, control2;
if((id=fork()) == 0){
var = 10;
exit(var);
}

if( id == wait(&estado)){
control1 = WIFEXITED(estado);
control2 = WIFSIGNALED(estado);
printf("Control1=%d y control2=%d\n",control1,control2);
printf("Padre recibe:%d\n",WEXITSTATUS(estado));
}
else
exit(-1);
}
