我有一个项目,我必须从.txt收集一些记录并使用exec *()对它们进行排序。当我调用execl时,我将它们中的一些(例如前10个记录)排序并同时(因为我在execl之前使用了fork())我使用另一个execl对一些记录进行排序。但问题是第二个execl的记录与第一个execl的记录相同。有没有人知道处理记录的方法,以便在每个execl中对不同的记录进行排序?
提前致谢!
答案 0 :(得分:0)
在较高级别,您需要让每个进程仅处理文件的一部分。这意味着您需要与每个进程通信他们需要处理的文件的哪个部分。有不同的选项可以实现这一点,但其中一个是让每个进程跳过调用exec()
之前不应处理的行。或者,为每个进程设置不同的管道,主进程将输入提供给每个工作进程。还有其他几种可能性。