如何通过LD_PRELOAD降低程序的读写速度
由于需要仿真java在比较慢的磁盘上的运行,想通过自己重写libc的一些磁盘读写操作的函数,让每一次读写后sleep几毫秒来实现。现在只知道如何通过LD_PRELOAD方式来hack底层调用。所以问题就是:
1.java这类程序调用了哪些磁盘、文件读写的函数呢?
2.如果要重写读写函数,是否能够调用原有的读写函数?比如
原来的是old_write(),能否实现
old_write(param){
old_write(param);
sleep(10);
}这种方式?如果不行是不是要仿照old_write的函数体来重写一次?