Ser*_*glu 2 c c++ unix operating-system fork
我正在研究系统编程系统调用.我的作业中有一个代码块(如下所示).问题是我要打印多少A,B或C. 我的问题是什么意思if(pid == 0)?我猜这if(pid == 0)意味着错误,所以我分析将打印2 x A和2 x B. 我写的还是?第二个问题是pid2 = fork()再次执行主要?
int main()
{
int pid,pid2;
int i;
pid = fork();
printf("A\n");
if (pid == 0)
pid2=fork();
if (pid2)
printf("B\n");
printf("C\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
该fork系统调用是特殊的.你调用它一次,它返回两次.一旦进入孩子,一次进入父母.
在父级中,它返回子级的pid,在子级中返回0.因此,if (pid == 0)表示" 如果这是子级 ".
| 归档时间: |
|
| 查看次数: |
806 次 |
| 最近记录: |