Nếu quá trình của tôi đang tải thư viện .so và nếu có phiên bản mới của thư viện, bạn có thể chuyển sang thư viện mới mà không cần khởi động lại quá trình không? Hoặc câu trả lời phụ thuộc vào những thứ như liệu có thay đổi tham số cho một trong các hàm hiện có trong thư viện không?Cập nhật các thư viện được chia sẻ mà không cần khởi động lại quy trình
Tôi đang làm việc trong một hệ thống khá lớn chạy 100 quy trình và mỗi lần tải 10 thư viện. Các thư viện cung cấp chức năng cụ thể và được cung cấp bởi các nhóm riêng biệt. Vì vậy, khi một trong những thư viện thay đổi (cho một sửa lỗi cho phép nói) điều lý tưởng sẽ được xuất bản nó dưới mui xe mà không ảnh hưởng đến quá trình chạy. Có thể không?
EDIT Cảm ơn! Trong trường hợp của tôi khi một thư viện mới có sẵn, tất cả các tiến trình đang chạy phải bắt đầu sử dụng nó. Tùy chọn không phải của nó để cho phép chúng chạy với phiên bản cũ và chọn phiên bản mới sau này. Vì vậy, có vẻ như các tùy chọn an toàn hơn là chỉ cần tải lại các quy trình.
Trừ khi bạn kiểm soát tất cả các tệp thực thi, cập nhật nóng để không thể thực hiện được các tệp mà không có các hacks xấu xí như quy trình ptracing. Ngoài ra, Linux không sử dụng dll. – BatchyX