创建一个文件,其内容由程序处理

创建一个文件,其内容由程序处理

我想创建一个特殊的文件,其中的内容将在读取时生成,并在写入时进行处理。应该有一个后台进程处理该文件。管道不是首选,因为它不允许双频(同时读/写)。两个命名管道看起来不错,但它们是两个文件而不是一个。我想要的很像字符设备文件或/sys.我怎样才能这样做呢?

答案1

只要您只想读取和写入流(一个字符一个字符),您就可以使用伪终端。这基本上就像一个双面管道,其中只有一侧(“从属”)在文件系统(如/dev/pts/X)中可见,而另一侧(“主”)对创建它的程序可见。它有一些额外的东西,例如顶部的线路规则和串行参数,您可以忽略它们。

创建伪终端有两种方法,更现代的是使用openpty然后select在主控端。man openpty详情请参阅。谷歌应该提供一些示例程序。

相关内容