linux fork 两个返回值的问题:
pid_t pid;
pid = fork();
一般书上都说有两个返回值给pid
其实正确的理解不是两个返回值,而是调用fock后,运行的是两个进程,pid也就有了两份,一份是子进程的,pid值为0,一份是父进程,pid为子进程的id
比如按下面写代码:
pid_t pid=0;
printf("pid:%d,cur proc id:%d\n",pid,getppid());//这里会打印一次
pid = fork();
printf("pid:%d,cur proc id:%d\n",pid,getppid());//这里是两个进程并行,会打印两次,并且pid和getppid()的值都会不同