我知道可以通过挂载动态库的方式改变已编译的程序的行为,就像 TCMalloc,可以通过环境变量 LD_PRELOAD 接管程序的 malloc 。
那存不存在一种方式可以劫持一个任意的二进制可执行文件的所有文件读写?
如果有,请也解释一下方案的实现难易和潜在的坑。
使用场景:需要在集群上跑的一些程序会产生许多小文件,而集群的硬盘读写很慢。希望在内存中集中暂存或归档这些文件。
那存不存在一种方式可以劫持一个任意的二进制可执行文件的所有文件读写?
如果有,请也解释一下方案的实现难易和潜在的坑。
使用场景:需要在集群上跑的一些程序会产生许多小文件,而集群的硬盘读写很慢。希望在内存中集中暂存或归档这些文件。