两个进程共享同一个pcap文件

Two processes sharing same pcap file

本文关键字:共享 同一个 pcap 文件 进程 两个      更新时间:2023-10-16

我有一个c++程序(在linux上执行),它使用了pcap文件。处理来自该pcap文件的每个数据包,并在文本文件中生成结果。我写了一个脚本,用不同的输入参数运行这个程序的两个实例。这个程序的一个实例在一个CPU上运行,另一个实例在第二个CPU上运行。

问题是,在我的程序中,我已经硬编码了pcap文件名。因此,在两个cpu上打开pcap文件并从中读取数据包。

我希望这两个程序都打开相同的pcap文件进行读取,这种情况只发生一次,当pcap文件被打开时,它的每个数据包都被发送到CPU1和CPU2上运行的进程。

请给我一些指导,我怎样才能完成这项任务。

听起来您希望您的进程做这样的事情:

    打开pcap文件
  1. 读取一些数据包
  2. 将该数据包传递给进程的两个线程,每个线程配置不同

你可以让你的脚本读取pcap文件,并将stdin上的二进制数据传递给你的c++程序,然后程序处理它。或者您可以使用套接字、共享内存和管道来代替stdin。

我假设你可以访问你所说的程序的代码。