It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center。
8年前关闭。
嘿,我想知道以下代码的输出是什么:-
我觉得应该印4次hello world。
请帮帮我。
分叉4---分叉5---分叉6
分叉7
因此,我们将总共有8个进程(主进程和7个分叉进程)运行并打印print语句。
附带说明:如果print语句在fork之前,那么它将不会被新的fork进程执行。
8年前关闭。
嘿,我想知道以下代码的输出是什么:-
main()
{
fork();
fork();
fork();
printf("hello world");
}
我觉得应该印4次hello world。
请帮帮我。
最佳答案
它将打印2^3=8次记住,每次调用fork时,您都在创建一个子进程,该子进程将在分叉之后继续执行,以便它自己也可以分叉。这棵树会像这样。
First process.
Forked1 Forked2 Forked3
分叉4---分叉5---分叉6
分叉7
因此,我们将总共有8个进程(主进程和7个分叉进程)运行并打印print语句。
附带说明:如果print语句在fork之前,那么它将不会被新的fork进程执行。