このプログラムは i を 0 から 5 まで出力すると思いますが、1 回の繰り返ししか出力しません。ただし、親の for ループをコメントアウトすると、予想される結果が出力されます...何が原因でしょうか?
int main(){
int pid;
int i=0;
for(i=0;i<5;i++){
printf("i: %d\n",i);
pid = fork();
if(pid < 0){
printf("Error forking\n");
} else if(pid == 0){
//child
for(i=0;i<10;i++);
exit(1);
} else {
//parent
for(i=0;i<10;i++);
//exit(1);
}
}
}