mirror of https://github.com/JavMB/ejercicios
Remove unnecessary comment from variables.c
This commit is contained in:
parent
bbc7c4b943
commit
7a821b482f
|
|
@ -0,0 +1,12 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(int argc ,char *argv[]){
|
||||
|
||||
|
||||
for (int i = 0; i < argc; i++) {
|
||||
printf("%d, %s \n",i,argv[i]);
|
||||
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int 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);
|
||||
wait(NULL); // Espera a que termine el hijo
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
|
||||
int 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);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
|
||||
int main(void) {
|
||||
pid_t pid, Hijo_pid, pid2, Hijo2_pid, id_actual;
|
||||
|
||||
pid = fork(); // Soy el abuelo e intento crear a mi hijo
|
||||
|
||||
if (pid == -1) { // Hubo error
|
||||
printf("Hubo un problema de impotencia al crear el hijo\n");
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
if (pid == 0) {
|
||||
// Nos encontramos en el hijo
|
||||
pid2 = fork(); // soy el hijo y creo al nieto
|
||||
|
||||
switch(pid2) {
|
||||
case -1: // error
|
||||
printf("No se ha podido crear el proceso nieto en el hijo\n");
|
||||
exit(-1);
|
||||
break;
|
||||
case 0: // Estoy en el nieto
|
||||
printf("\t\tSoy el proceso NIETO %d, Mi padre es = %d\n",
|
||||
getpid(), getppid());
|
||||
break;
|
||||
default: // proceso padre (hijo)
|
||||
Hijo2_pid = wait(NULL); // espero a que termine nieto, que es mi hijo
|
||||
printf("\t\tSoy el proceso HIJO %d, Mi padre es = %d\n",
|
||||
getpid(), getppid());
|
||||
printf("\tMi hijo: %d terminó.\n", Hijo2_pid);
|
||||
}
|
||||
|
||||
} else {
|
||||
// Nos encontramos en el abuelo
|
||||
id_actual = wait(NULL); // Espero a que termine mi hijo, que a su vez espera que termine el nieto
|
||||
printf("Yo soy el abuelo de las dos criaturas anteriores:\n\t");
|
||||
printf("Mi PID es %d, el de mi padre (Sistema Operativo) es %d.\n\t", getpid(), getppid());
|
||||
printf("Mi hijo si es de verdad hijo mio deberia tener el PID %d.\n", pid);
|
||||
printf("A mi nieto no lo puedo conocer, solo reconozco a mi generación inmediata\n");
|
||||
printf("Para conocer a mi NIETO debería implementar algún sistema de comunicación entre procesos.\n");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int 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);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
int main() {
|
||||
printf("Ejemplo de uso de system():");
|
||||
printf("\n\tListado del directorio actual y envio a un fichero:");
|
||||
printf("%d",system("ls > ficherosalida.txt"));
|
||||
printf("\n\tAbrimos con nano el fichero ...");
|
||||
printf("%d",system("nano ficherosalida.txt"));
|
||||
printf("\n\tEste comando es erroneo: %d",system("msword"));
|
||||
printf("\nFin del programa");
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
int main() {
|
||||
printf("Ejemplo de uso de excel():");
|
||||
printf("\n\tListado del directorio actual:");
|
||||
execl("/bin/ls","ls","-l", (char *)NULL);
|
||||
printf("\nEsta instrucción no se llega a ejecutar");
|
||||
return 0;
|
||||
}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,29 @@
|
|||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
#include <string.h>
|
||||
|
||||
int main() {
|
||||
int var = 6; // Variable entera inicializada a 6
|
||||
pid_t pid = fork(); // Crear un nuevo proceso
|
||||
|
||||
if (pid < 0) {
|
||||
// Error al crear el proceso
|
||||
perror("Fork failed");
|
||||
exit(1);
|
||||
} else if (pid == 0) {
|
||||
// Proceso hijo
|
||||
var -= 5; // Restar 5 a la variable
|
||||
printf("Proceso hijo: var = %d\n", var);
|
||||
} else {
|
||||
// Proceso padre
|
||||
wait(NULL); // Esperar a que el hijo termine
|
||||
var += 5; // Incrementar la variable en 5
|
||||
printf("Proceso padre: var = %d\n", var);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
18
C/zombies.c
18
C/zombies.c
|
|
@ -0,0 +1,18 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
int main(void){
|
||||
pid_t pid= fork();
|
||||
|
||||
if (pid<0){
|
||||
perror("fork");
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue