C 这些fork()语句的进程树是什么样子的?
有人能告诉我这个c代码将生成什么进程树吗C 这些fork()语句的进程树是什么样子的?,c,linux,fork,C,Linux,Fork,有人能告诉我这个c代码将生成什么进程树吗 #include <unistd.h> int main(void) { fork() || (fork() && fork()); return 0; } 这可能是一个家庭作业。然而,这很有趣 首先: fork为子级返回0 fork为父级返回一个不等于0的值 因此,在服务器中,逻辑or | | unequals 0的第一部分和表达式的其余部分不会在父级上执行:对fork的一次调用 在子级中,第一部分为0,因此
#include <unistd.h>
int main(void)
{
fork() || (fork() && fork());
return 0;
}
这可能是一个家庭作业。然而,这很有趣 首先: fork为子级返回0 fork为父级返回一个不等于0的值 因此,在服务器中,逻辑or | | unequals 0的第一部分和表达式的其余部分不会在父级上执行:对fork的一次调用 在子级中,第一部分为0,因此执行rest fork&&fork。因此,在这个子对象上,第一个fork返回一个不等于零的值,从而对第二个部分求值。因此有两个新孩子。这两个函数的返回值均为0,使计算短路 未经测试,在Safari中键入。从man fork开始,然后是单个fork。只有在理解它之后,才能继续进行更复杂的示例。