Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Funciones execlp(), ....

Estas en el tema de Funciones execlp(), .... en el foro de C/C++ en Foros del Web. hola, tengo un problemilla. y es que estoy intentando crear algunos programas para la manipulación de procesos y hay un concepto que no tengo muy ...
  #1 (permalink)  
Antiguo 30/08/2006, 15:54
 
Fecha de Ingreso: febrero-2005
Mensajes: 105
Antigüedad: 19 años, 10 meses
Puntos: 1
Funciones execlp(), ....

hola, tengo un problemilla. y es que estoy intentando crear algunos programas para la manipulación de procesos y hay un concepto que no tengo muy claro: Las funciones execlp(), execvp(), ... ¿cual debo utilizar en qué caso?. Por ejemplo:

Programa multiplica.c:
Código:
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>

int main () {

    int vector [10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int cont;

    printf ("vector MULTIPLICADO = {");
    for (cont = 0; cont < 9; cont++)
    {
        vector [cont] *= 2;
        printf ("%d, ", vector [cont]);
    }
    vector [9] *= 2;
    printf ("%d}\n", vector [9]);

    exit (0);
}
Programa principal.c:
Código:
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>

int main () {

    int vector [10] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
    int cont;

    if (fork != 0)
        wait(NULL);
    else
    {   /* Proceso A */
        execlp ("ej12_multiplica", "ej12_multiplica", vector);
        exit (0);   // Creo que no haría falta.
    }

    printf ("Vector PADRE = {");
    for (cont = 0; cont < 9; cont++)
        printf ("%d, ", vector [cont]);
    printf ("%d}\n", vector [9]);

    exit (0);
}
El problema es que al ejecutar el programa ./principal no se ejecuta el programa multiplica (al menos no aparece el vector de ese programa impreso en pantalla), así que supongo que no estoy utilizando correctamente la función execlp(). O debería usar otra función...

¿Alguna pequeña ayuda? Gracias!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:25.