Linux 中的一些命令,例如。 ssh-agent $BASH
确保当前控制台中运行的命令的某些操作被另一个工具“拦截”。这一般是如何运作的?为了理解这一点,我应该研究哪些主题?假设我想制作一个工具,将所有磁盘写入操作从随后启动的所有进程重定向到我指定的位置(厌倦了将各种垃圾写入磁盘上的奇怪位置,例如〜/.adobe/Flash_Player/AssetCache),这样的应用程序的基本结构是什么样的?是否必须低于 RING3 级别?
最佳答案
ELF 允许插入共享对象。在 Linux 上,您可以使用 LD_PRELOAD
在动态可执行文件的符号查找范围中的所有其他内容之前插入共享对象,例如:
export LD_PRELOAD=/lib/libSegFault.so
关于linux - 了解linux中命令的 "intercepting",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6311240/