【发布时间】:2011-05-26 07:12:45
【问题描述】:
我已经问过一个关于 fork() 的问题,这是另一个问题。 给定以下代码:
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid1, pid2;
pid1 = fork();
pid2 = fork();
if (pid1 != 0 && pid2 != 0)
printf("A\n");
if (pid1 != 0 || pid2 != 0)
printf("B\n");
exit(0);
}
在第二个fork() 之后,pid1 和pid2 的值是多少?
据了解,第一个 fork 设置 pid1 > 0 并且在以后创建的所有子代中都是相同的。但是,pid2 会发生什么?
谢谢!
【问题讨论】: