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 :
Banale programma prova :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; }
Se questo viene eseguito il valore che mi viene stampato è casuale e non sette!!!codice:#include <stdio.h> int main () { printf("Processo figlio\n"); sleep(10); return 7; // ho provato anche con exit(7) ma non cambia niente }
HELP....![]()
![]()
![]()

Rispondi quotando