jueves, 22 de septiembre de 2011

Practica 3

SOY ERIKA DIAZ GARCIA Y QUIERO EL EJERCICIO # 8

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);
}
}
}





1 comentario:

  1. EL EJERCICIO TIENE UN VALOR DE 2 PUNTOS SOBRE LA CALIFICACIÓN DESPUES DE ESA FECHA DISMINUYE SU VALOR
    FECHA 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

    ResponderEliminar