【发布时间】:2015-02-06 06:44:56
【问题描述】:
我正在尝试在 fork 的帮助下打印一个数组,其中每个元素都将由一个单独的子进程打印。
void printArray_fork(int *p_array, int length){
int i;
pid_t pid;
for(i = 0; i<length;i++){
/* Create children procs */
pid = fork();
if(pid==0){
break;
}
}
if(pid == 0) {
printf( "My process ID : %d value: %d\n",getpid(),*(p_array + i));
}
}
现在的问题是我希望它也按顺序排列(升序或降序,没关系)我该怎么做?
【问题讨论】:
-
fork不打印数组。它创建了一个新流程。您需要在父级中waitpid它。