commit ab24a74e08d61c33b08ee90980bd502ddbf7a896 Author: Santi Date: Fri Sep 29 18:11:23 2023 +0200 Commit fork diff --git a/proceso31 b/proceso31 new file mode 100755 index 0000000..9936a13 Binary files /dev/null and b/proceso31 differ diff --git a/proceso31.c b/proceso31.c new file mode 100644 index 0000000..94190cf --- /dev/null +++ b/proceso31.c @@ -0,0 +1,9 @@ +#include +#include +void main(void) { + __pid_t id_actual, id_padre; + id_actual = getpid(); + id_padre = getppid(); + printf("Mi PID es: %d\n", id_actual); + printf("El PID de mi papa es: %d\n", id_padre); +} \ No newline at end of file diff --git a/proceso32 b/proceso32 new file mode 100755 index 0000000..e98e406 Binary files /dev/null and b/proceso32 differ diff --git a/proceso32.c b/proceso32.c new file mode 100644 index 0000000..9d5c781 --- /dev/null +++ b/proceso32.c @@ -0,0 +1,25 @@ +#include +#include +#include +void main(void) { + pid_t id_actual, id_padre, pid; + + pid = fork(); + + if (pid == -1) { // Hubo error + printf("Hubo un problema de impotencia al crear el hijo"); + exit(-1); } + // Si todo va bien y se crea el hijo tenemos que hacer + // que el programa ejecute un código con distinto para cada + // proceso + if (pid == 0) { // Nos encontramos en el hijo + printf ("Soy el proceso hijo\n\t"); + printf(" Mi PID es %d, y el mi papa %d\n",getpid(),getppid()); + } else { // Nos encontramos en el padre + printf("Yo soy el padre de la criatura:\n\t"); + printf("Mi PID es %d, el de mi padre (abuelo de la criatura) es %d.\n\t", + getpid(),getppid()); + printf("Mi hijo si es de verdad hijo mio deberia tener el PID %d.\n",pid); + } + exit(0); +} \ No newline at end of file diff --git a/proceso33 b/proceso33 new file mode 100755 index 0000000..7779d05 Binary files /dev/null and b/proceso33 differ diff --git a/proceso33.c b/proceso33.c new file mode 100644 index 0000000..571b759 --- /dev/null +++ b/proceso33.c @@ -0,0 +1,29 @@ +#include +#include +#include +#include +#include + +void main(void) { + pid_t id_actual, id_padre, pid; + + pid = fork(); + + if (pid == -1) { // Hubo error + printf("Hubo un problema de impotencia al crear el hijo"); + exit(-1); } + // Si todo va bien y se crea el hijo tenemos que hacer + // que el programa ejecute un código con distinto para cada + // proceso + if (pid == 0) { // Nos encontramos en el hijo + printf ("Soy el proceso hijo\n\t"); + printf(" Mi PID es %d, y el mi papa %d\n",getpid(),getppid()); + } else { // Nos encontramos en el padre + id_actual = wait(NULL); + printf("Yo soy el padre de la criatura:\n\t"); + printf("Mi PID es %d, el de mi padre (abuelo de la criatura) es %d.\n\t", + getpid(),getppid()); + printf("Mi hijo si es de verdad hijo mio deberia tener el PID %d.\n",pid); + } + exit(0); +} \ No newline at end of file