Programa 1
Program 2
#include<unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <errno.h>
#define num_hijos 3
int main (void)
{
int ret, i;
int dedos=getpid();
int padre = 0;
char comanda[50]; /*String dónde se guarda el comando a ejecutar por el 1r hijo*/
system("clear");
sprintf(comanda,"pstree -n -p %d\n",getpid()); /*Concatenamos el comando pstree con el pid del padre*/
for(i=0; i<num_hijos; i++)
{
ret=fork();
if(ret==0)
{
printf("yo soy el hijo %d, mi padre es PID=%d, Yo soy PID=%d\n",i, getppid(), getpid());
padre = getppid();
//if(i==2)
//{
// printf("yo soy el hijo %d y mi padre es el proceso %d con el PID(%d) ",i+1,i,getpid());
//}
}
else if (ret>0)
{
ret=wait(NULL);
while(ret>0)
{
ret=wait(NULL);
}
if(ret==-1 && errno!= ECHILD)
{
perror("fallo en wait");
exit(EXIT_FAILURE);
}
exit(EXIT_SUCCESS);
}
else if(ret==1)
{
perror("fallo en fork");
exit(EXIT_FAILURE);
}
}
}
EL EJERCICIO TIENE UN VALOR DE 2 PUNTOS SOBRE LA CALIFICACIÓN DESPUES DE ESA FECHA DISMINUYE SU VALOR
ResponderEliminarFECHA DE ENTREGA: 30 DE SEPTIEMBRE DE 2011
Objetivos:
• Practicar con funciones y el paso de parámetros
Descripción:
• Definir un tipo vector-3D como un array de 3 casillas reales
• Crear tres funciones; no usar variables globales:
- leer por teclado las tres componentes de un vector
- producto escalar de dos vectores: se retorna el valor
- escribir en pantalla las tres componentes de un vector
• Crear un programa principal que permita calcular el producto escalar de dos vectores y muestre al final los dos vectores y el resultado