【问题标题】:Unload LD_PRELOAD without restart process卸载 LD_PRELOAD 无需重启过程
【发布时间】:2021-03-25 18:48:50
【问题描述】:

我使用LD_PRELOAD 来挂钩函数,例如LD_PRELOAD=my_lib.so ./my_exec

在不重启进程的情况下调用钩子函数时如何卸载my_lib.so

【问题讨论】:

    标签: c linux ld-preload


    【解决方案1】:

    您无法卸载预加载的库。

    但是你可以做的是实现一个my_lib_shim.so 作为包装垫片,稍后使用dlopen 正确加载库并使用dlsym 填充挂钩。然后可以使用dlclose 卸载。

    【讨论】:

    • 我不明白你的回答。例如,我使用 my_lib.so 连接 fopen,如果在进程运行时我想卸载 my_lib.so。我可以这样做吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    • 2018-07-28
    • 2014-01-31
    • 1970-01-01
    相关资源
    最近更新 更多