linux - 根据读取请求写入文件 - Linux

标签 linux io system-calls

我希望在任何程序试图读取特定文件时写入该文件。例如,我创建了一个空文件,或者用零填充,一个程序试图从文件的第 M 个字节开始读取 N 个字节(使用读取/查找系统调用),我需要让读取调用等到我将请求的字节写入文件以使系统调用成功读取写入的字节而没有错误。该文件应该看起来像程序期望读取的文件。还是有一种方法可以将所需的字节“发送”到 read() 调用,而无需在此之前将它们直接写入文件?我需要让它与任何程序一起工作,而无需编辑其代码。

最佳答案

这必须通过在内核级别拦截文件系统读取请求来完成。最简单的方法是利用 FuseFS在用户空间中实现文件系统过滤器。其他程序将从您的文件系统读取,让您完全控制它们读取的内容。

关于linux - 根据读取请求写入文件 - Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39919551/

相关文章:

c - 一次读取一个二进制文件 1 个字节

c - C 中管道、greps、wc 的堆栈崩溃问题

linux - Gradles 的 zipTree 在 Unix 和 Windows 上的不同行为?

go - 为什么即使达到 EOF io.Pipe() 也会继续阻塞?

node.js - 如何在 Node 中的 child.process.exec 中使用的命令中转义 URL 中的字符

java - 在 java 中使用 gson 以 pretty-print 格式创建 json 文件 I/O?

c - 还有其他方法可以用C语言构建管道吗?

c - 使用 write() 打印十六进制

linux - Debian 8 上的 v4l2 构建错误

linux .profile 脚本 - 模块加载错误,后跟 echo