使用execl从txt收集数据

时间:2014-02-07 10:07:34

标签: c parallel-processing fork

我有一个项目,我必须从.txt收集一些记录并使用exec *()对它们进行排序。当我调用execl时,我将它们中的一些(例如前10个记录)排序并同时(因为我在execl之前使用了fork())我使用另一个execl对一些记录进行排序。但问题是第二个execl的记录与第一个execl的记录相同。有没有人知道处理记录的方法,以便在每个execl中对不同的记录进行排序?

提前致谢!

1 个答案:

答案 0 :(得分:0)

在较高级别,您需要让每个进程仅处理文件的一部分。这意味着您需要与每个进程通信他们需要处理的文件的哪个部分。有不同的选项可以实现这一点,但其中一个是让每个进程跳过调用exec()之前不应处理的行。或者,为每个进程设置不同的管道,主进程将输入提供给每个工作进程。还有其他几种可能性。