繁体   English   中英

如何将文件映射到/ dev / zero

[英]How to map a file to /dev/zero

我想在/ dev / zero中映射一个pcap文件,并让其他程序读取/ dev / zero。 有可能吗? 我读了《 APUE》一书,看到了/ dev / zero的Memory映射,但是我认为这不是我想要做的。 有没有人可以帮助我?

您的问题有点令人困惑。

让我看看我是否明白。 请在需要的地方纠正我:

  1. 您有一个.pcap文件,可以打开该文件并将其内容加载到程序中-让我们将程序称为“ A”。

  2. 您希望使该.pcap文件的内容在与另一个程序共享的内存缓冲区中可用-让我们将程序称为“ B”。

  3. 根据APUE书中的示例,您的想法是在程序A中进行mmap / dev / zero的操作,将.pcap文件的内容复制到映射的内存段中,然后期望当程序B也映射/ dev / zero时,它会看到.pcap文件的内容。

那是你要的吗?

如果是这样,那么我认为您将无法使用/ dev / zero。 这两个程序在mmap的/ dev / zero中时,将分别获得内存映射的零填充实例。 在这种情况下,两个程序共享的唯一方法是使一个成为另一个程序的fork()。

但是,您可以创建一个除“ / dev / zero”(称为“ / tmp / mypcap”之类)以外的命名共享内存对象,然后多个程序可以共享它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM