我正在尝试理解以下代码
#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
int main()
{
pid_t pid ;
unsigned int i=0;
pid=vfork();
switch(pid)
{
case -1: // some sort of error
puts("fork error");
break;
case 0: // the child process
while(i<100)
{
printf("%d\n", i);
i++;
}
break;
default: //parent
while(i<1000)
{
printf("%d\n", i);
i++;
}
break;
}
// _exit(0);
}
并且请不要告诉我 vfork() 是坏的和这类事情。我知道是这样,但是这段代码中究竟发生了什么导致这种错误。提前致谢