Я бы хотел иметь возможность обновлять их и выполнять их горячую замену. Я рассмотрел динамическое связывание их как разделяемые библиотеки
Похоже, вы можете обновить общую библиотеку (на диске), которую в настоящее время использует исполняемый двоичный файл сервера, и ожидать, что запущенный процесс сервера начнет использовать обновленную библиотеку.
То есть не , как работают разделяемые библиотеки. Если вы попробуете это, ваш серверный процесс либо завершится сбоем, либо продолжит использовать старую библиотеку (в зависимости от того, как именно вы обновите библиотеку на диске).
Это может быть сделано для работы в ограниченных условиях , если вы используете dlopen
для загрузки библиотеки, и если вы можете успокоить свой сервер, и иметь его dlclose
для выгрузки ранее загруженной версии, а затем dlopen
обновленная версия. Но точные детали создания этой работы довольно сложны.