Ciao a tutti! Stavo cercando di capire come funzionasse la funzione exec, e, aiutandomi con un esempio, ho scritto questo codice:
execl("bin/ls", "ls", (char *) 0);
cout << "Exec fallito" << endl;
E fin qui tutto bene, mi appare la lista degli elementi nella directory dov'è contenuto il programma, e (giustamente) non appare il cout "Exec fallito".
Se invece provo ad usare l'exec con un codice da me realizzato, incontro difficoltà.
Ho provato a scrivere :
execl("Scrivania/Esercizi/Pid/start", "start", (char *) 0);
cout << "Exec fallito" << endl;
In cui "Pid" è la cartella di un programma che stampa a video il pid di un processo (programma che non ha nessuna variabile d'ingresso), e "start" l'eseguibile del processo (il programma in cui eseguo la execl si trova in un percorso diverso, ovvero Scrivania/Esercizi/Exec)
Così però l'exec fallisce (infatti mi appare a video il cout "Exec fallito"). Sono convinto che il mio errore sia nei primi due argomenti dell'execl... Ho cercato sul web ma non trovo nulla di abbastanza chiaro, qualcuno può aiutarmi?