32 lines
864 B
C
32 lines
864 B
C
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
#include <stdio.h>
|
|
#include <sys/types.h>
|
|
#include <sys/wait.h>
|
|
void main(void) {
|
|
pid_t p_hijo, p_padre;
|
|
int a;
|
|
a = 6;
|
|
printf("Mi PID es %d y el del sistema %d\n", getpid(), getppid());
|
|
sleep(1);
|
|
p_hijo = fork();
|
|
|
|
switch(p_hijo) {
|
|
case -1: //error
|
|
printf("No se ha podido crear el proceso nieto en el hijo");
|
|
exit(-1);
|
|
break;
|
|
case 0: // Estoy en el hijo
|
|
a -= 5;
|
|
printf("Soy el proceso HIJO %d, Mi padre es = %d \n",
|
|
getpid(),getppid());
|
|
printf("La variable hijo vale %d", a);
|
|
sleep(1);
|
|
break;
|
|
default: //proceso padre
|
|
a += 5;
|
|
printf("Soy el proceso PADRE %d, Mi padre es = %d \n",
|
|
getpid(),getppid());
|
|
printf("La variable padre vale %d", a);
|
|
}
|
|
}
|