更新时间:2023-01-01 15:07:26
一些想法:
也许你叫的dlopen()
更多然后一次? DL
库维护它在每一个的dlopen()
所以 dlclose()增加引用计数
将卸载库只如果计数器== 0。
Probably you call dlopen()
more then once? dl
library maintains reference counters which is incremented on every dlopen()
so dlclose()
will unload the library ONLY if counter == 0.
你指定 RTLD_NODELETE
为的dlopen标志()
(假设你是在Linux上)?如果是, dlclose()
不会卸载您的图书馆。
Did you specify RTLD_NODELETE
flag for dlopen()
(assuming you are on Linux)? If yes, dlclose()
won't unload your library.
你有没有尝试调试系统调用与 strace的
?启动Apache,认定其PID和跟踪所有系统调用的Apache没有按调用使用strace -p< PID>
。也许它会给你一些想法是怎么回事。
Did you try to debug syscalls with strace
? Start Apache, finds its pid and trace all syscalls Apache doesn by calling strace -p<pid>
. Probably it will give you some idea what is going on.