根据读取请求写入文件 - Linux
Write file on read request - Linux
我希望在任何程序试图读取特定文件时写入该文件。例如,我创建了一个空文件,或者用零填充,一个程序试图从文件的第 M 个字节开始读取 N 个字节(使用 read/seek 系统调用),我需要让读取调用等待直到我将请求的字节写入文件以使系统调用成功读取写入的字节而没有错误。该文件应该看起来像程序期望读取的文件。或者有没有办法将 "send" 需要的字节发送到 read() 调用,而无需在此之前将它们直接写入文件?我需要在不编辑其代码的情况下使其与任何程序一起使用。
您需要使用某种 IPC 机制在读写器之间创建自己的同步协议。
或者,您可以使用存储过程在数据库中执行此操作。
这必须通过在内核级别拦截文件系统读取请求来完成。最简单的方法是利用 FuseFS 在用户空间中实现文件系统过滤器。其他程序将从您的文件系统读取,让您完全控制它们读取的内容。
我希望在任何程序试图读取特定文件时写入该文件。例如,我创建了一个空文件,或者用零填充,一个程序试图从文件的第 M 个字节开始读取 N 个字节(使用 read/seek 系统调用),我需要让读取调用等待直到我将请求的字节写入文件以使系统调用成功读取写入的字节而没有错误。该文件应该看起来像程序期望读取的文件。或者有没有办法将 "send" 需要的字节发送到 read() 调用,而无需在此之前将它们直接写入文件?我需要在不编辑其代码的情况下使其与任何程序一起使用。
您需要使用某种 IPC 机制在读写器之间创建自己的同步协议。
或者,您可以使用存储过程在数据库中执行此操作。
这必须通过在内核级别拦截文件系统读取请求来完成。最简单的方法是利用 FuseFS 在用户空间中实现文件系统过滤器。其他程序将从您的文件系统读取,让您完全控制它们读取的内容。