Se il mio processo sta caricando una libreria .so e se è disponibile una nuova versione della libreria è possibile passare alla nuova libreria senza riavviare un processo? Oppure la risposta dipende da cose come se ci sia un cambio di parametro in una delle funzioni esistenti nella libreria?Aggiorna librerie condivise senza riavviare processi
Sto lavorando in un sistema piuttosto grande che esegue centinaia di processi e ognuno carica 10s di librerie. Le librerie forniscono funzionalità specifiche e sono fornite da team separati. Quindi, quando una delle librerie cambia (per una correzione di bug diciamo) la cosa ideale sarebbe pubblicarla sotto il cofano senza influenzare il processo in esecuzione. È possibile ?
MODIFICA Grazie! Nel mio caso, quando è disponibile una nuova libreria, tutti i processi in esecuzione devono iniziare ad usarlo. La sua non possibilità di lasciarli correre con la vecchia versione e riprendere il nuovo in seguito. Quindi sembra che l'opzione più sicura sia semplicemente ricaricare i processi.
A meno che non si controllino tutti gli eseguibili, aggiornamento a caldo in modo che i file non siano possibili senza hack brutti come i processi di ptracing. Inoltre, linux non usa dll. – BatchyX