模拟文件

模拟文件

我有某些应用程序打开具有给定路径(可能是或衍生路径)的文件fopen,读取该文件,可能写入该文件并关闭它。除了指定路径之外,我无法控制该应用程序。

我想做的是“模拟”本地文件系统中的文件以将其传递给应用程序。也就是说,我希望该文件在文件系统中显示为普通文件,但是流被重定向到另一个应用程序,该应用程序可以正确处理它们并输出适当的数据。本质上,我想创建一个伪设备,只不过它根本不是一个设备。这到底可行吗?我将如何解决这个问题?

答案1

听起来您想要的是一个命名管道,您可以使用mkfifo(1).使用您想要“模拟”的管道的名称创建命名管道。然后启动“其他应用程序”,最后启动您无法控制的应用程序。您确实需要“其他应用程序”正常运行 - 以它期望的方式与第一个应用程序进行通信。例如,让第一个数据可用,然后等待第一个数据。

相关内容