Está en la página 1de 1

#include <stdio.

h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <signal.h>
#include <sys/wait.h>

int main() {
int pid;

// Crear el proceso hijo


pid = fork();

switch (pid) {
case -1:
// Manejar error
fprintf(stderr, "No se pudo crear el proceso hijo");
exit(EXIT_FAILURE);

case 0:
// Proceso hijo
while (1) {
// Bucle infinito en el proceso hijo
printf("Proceso hijo ejecutándose...\n");
sleep(1);
}

default:
// Proceso padre
printf("Proceso padre esperando 1 minuto...\n");
sleep(60); // El proceso padre se congelará durante 1 minuto

// Una vez que el proceso padre se descongela, mata al proceso hijo


printf("Proceso padre matando al proceso hijo con PID %d\n", pid);
kill(pid, SIGTERM);

// Esperar a que el proceso hijo termine (para liberar recursos)


wait(NULL);

printf("Proceso padre finalizado.\n");


}

return 0;
}

También podría gustarte