linux - 了解linux中命令的 "intercepting"

标签 linux operating-system

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/

相关文章:

linux - Linux 命令 shell 中 "command > log.txt"和 "command 1>& log.txt"之间的区别?

c - 打印分区表——C程序

Android 应用程序权限访问

linux - 既然所有的用户线程都映射到内核线程,那么用户线程是不是运行在内核态呢?

windows - Windows如何执行汇编程序?

regex - 在 sed 中使用管道(或)

c++ - linux。调用 sys_clone 时有许多文件描述符

linux - 最终构建内容外壳并共享

linux - bash shell 字段需要大于#

java - 我的 Java 代码如何读取操作系统环境变量?