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....