我想加载一个共享对象到某些进程,需要满足某些条件
- 仅加载到特定进程而不是全部进程
- 必须在流程代码开始执行之前完成
- 这些过程不是我的
在 Linux 上支持此功能有哪些可用方法?
可以用“/etc/ld.so.preload”或“LD_PRELOAD=/my/lib.so”来完成吗?为此需要内核模块吗?
任何帮助,将不胜感激
谢谢!
答案1
您可以使用的代码类似于:
LD_PRELOAD=/my/lib.so /path/to/binary
如果二进制需要此库,您还可以使用:
LD_LIBRARY_PATH=/my:$LD_LIBRARY_PATH /path/to/binary
并且二进制文件将在/my
标准路径中搜索之前在路径中搜索该库