Salve,
io avrei un piccolo problema, anzi direi più un dubbio.
Sto sviluppando un pogramma in ambiente C su linux che implemente un server e due client (istanze dello stesso codice) che comunicano tra di loro attraverso degli scambi di messaggi.
Il problema che nasce è nel momento in cui un secondo server va a connettersi, di fatto il server crea la struttura dati che permette ai due client di interagire.. e se questa venisse distrutta e ricreata da un nuovo server, si avrebbe una consecutiva perdita di sincronizzazione e di informazioni.
A questo punto mi è venuta l'idea di creare un processo figlio del server che controllasse lo stato di terminazione del processo padre, ma questo si mostra sconveniente e ho optato per questa soluzione:
Effettuare all'avvio del server, un controllo nella lista dei processi attivi e verificare se un iatanza della stessa applicazione fosse gia attiva, qualora il test è positivo allora termina iil secondo server, altrimenti lo avvia.
Qualcuno ha idea e suggerimenti di come implementarlo in codice C? Un programma che si autotermina se un istanza dello stesso codice gia esiste?
Grazie.