Wenn mein Prozess eine .so-Bibliothek lädt und eine neue Version der Bibliothek verfügbar ist, ist es möglich, in die neue Bibliothek zu wechseln, ohne einen Prozessneustart durchzuführen? Oder die Antwort hängt von Dingen ab wie ob es eine Parameteränderung zu einer der vorhandenen Funktionen in der Bibliothek gibt?Shared Libraries aktualisieren, ohne Prozesse neu zu starten
Ich arbeite in einem ziemlich großen System, das 100s von Prozessen läuft und jeder 10s von Bibliotheken lädt. Die Bibliotheken bieten spezifische Funktionen und werden von separaten Teams bereitgestellt. Wenn also eine der Änderungen der Bibliothek (für eine Fehlerbehebung, sagen wir mal) die ideale Sache wäre, würde man sie unter der Oberfläche veröffentlichen, ohne den laufenden Prozess zu beeinflussen. Ist es möglich ?
BEARBEITEN Danke! In meinem Fall, wenn eine neue Bibliothek verfügbar ist, müssen alle laufenden Prozesse damit beginnen. Es ist nicht möglich, sie mit der alten Version laufen zu lassen und später die neue Version aufzunehmen. Es scheint also die sicherere Option zu sein, die Prozesse einfach neu zu laden.
Sofern Sie nicht alle ausführbaren Dateien steuern, ist eine Aktualisierung nicht möglich, so dass Dateien ohne hässliche Hacks wie ptracing Prozesse nicht möglich sind. Außerdem verwendet Linux keine DLL. – BatchyX