我对这段代码有疑问。循环应该从list.txt文件中读取文件名,然后最多n次(终端定义)并对包含整数的文件进行排序。问题是,父亲过程永远不会等待孩子终止。我错过了什么吗?
while(fscanf(fp, "%s", fname) != EOF){
if(i<n){
if(!fork()){
i++;
execlp("sort", "sort", "-n", "-o", fname, fname, NULL);
exit(EXIT_SUCCESS);
}
} else {
printf("WAIT FOR FORK TERMINATION\n");
wait(&status);
i--;
}
}
我不知道问题是否与execlp执行sort命令的速度有关,而不是父亲达到等待状态或什么