Re: execvp() e shell invalida...
Mi sembra sbagliata la diagnosi. execvp() funziona.
Il link iniziale mostra questo codice (corretto!)
execvp(argv[0], argv);
/* only gets here if execvp fails */
return -1;
Perche` exec non ritorna. E se tornasse la funzione tornerebbe -1, non 1.
"rc" = return command. Qui e` il processo figlio che fa exit(1).
Consiglio di guardarlo con "strace -f" per vedere cosa fa il processo
figlio e perche` termina male.
Ovviamente non si vedranno le sue if che sbagliano e generano l'errore,
ma spesso la sequenza di chiamate di sistema indica chiaramente cosa
e` andato storto. Certo, se il codice fa solo:
if (!getenv("VARIABILE_STRANA")) exit(1);
mica lo vediamo da strace, ma e` improbabile che non si noti niente
di sbagliato nei suoi accessi.
Reply to: