Salve a tutti,
vi chiedo nuovamente un aiuto per risolvere un problemino che sto avendo in un esercitazione in C; dovrei avere un processo che legga in continuazione i dati da una shared memory e per ogni lettura andata a buon fine deve creare un processo che utilizzi questi dati per svolgere altro codice.
Io pensavo di fare una cosa del genere:
while (1)
{
leggi DATI da shmat(....);
salva lettura in un buffer;
shmdt(...);
se il buffer é ok allora fork()
if (!fork()) execl(¨./programma¨,....);
....
}
...
...
Potrebbe essere un'impostazione corretta? Quello che non mi é chiaro é se posso passare il buffer letto al ./programma poiché voglio che l'accesso alla memoria condivisa sia solo del primo programma col ciclo while. Da quanto ho capito execl sostituisce il codice copiato dalla fork con il proprio path di esecuzione perdendo peró le variabili in uso é so ke si possono passare dei parametri dopo il path di esecuzione ma non so se possa fare al caso mio e se posso passarvi quello ke mi par).
Qualcuno mi potrebbe dare un chiarimento?
Grazie
Fabio