Ciao!!!

Ho dei problemi con la funzione wait, perché nella variabile stutus trovo un valore casuale e non l'effettivo valore di ritorno del processo!!!

Forse ho capito male il significato di questo parametro!!!

Posto un po di codice per migliorare la compressione del problema...


Programma principale :
codice:
 
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include <sys/wait.h>


#define prg "/home/giuseppe/prova"

int main () {
        pid_t pid;
        int cod_rit_figlio;

        pid = fork();

        if (!pid) {
                // processo figlio
                execve(prg, NULL, NULL);
        }       else {
                wait(&cod_rit_figlio);
                printf("Il processo figlio ha restituito : %d\n", cod_rit_figlio);
        }
        return 0;
}
Banale programma prova :

codice:
#include <stdio.h>

int main () {

        printf("Processo figlio\n");
        sleep(10);
        return 7;  // ho provato anche con exit(7) ma non cambia niente
}
Se questo viene eseguito il valore che mi viene stampato è casuale e non sette!!!

HELP....