|
首次发帖,急问个问题,想了半天想不通~~~~~
int main()
{
printf("main %d\n",getpid());//打印语句1
pid_t i=fork();
printf("main_2 %d\n",getpid());//打印语句2
if(i==0)
printf("i%d,i%d\n",i,getpid());//打印语句3
else
printf("i%d,i%d\n",i,getpid());//打印语句5
}
大家看一下上面这个程序,就是在main()里面创建了一个新进程,然后测试每一个语句到底处于什么进程中,输出结果如下:
main 1834 //语句1
main_2 1835 //语句2
i0,i1835 //语句3
main_2 1834 //语句4
i1835,i1834 //语句5
输出结果中的1,2,3,5我没什么疑问,就是第4句想不通,为什么在进入父进程空间的时候会调用之前的打印语句2 ???
我新学的,比较愚蠢,请各位讲的详细一点,谢谢~~~~~~~~~~ |
|