gpt4 book ai didi

关于 C 中 fork() 系统调用的困惑

转载 作者:太空宇宙 更新时间:2023-11-04 01:00:23 25 4
gpt4 key购买 nike

我不明白 fork() & fork()fork() && fork() 之间有什么区别。我也为他们两个得到了不同的输出。

fork() & fork();
printf("hi\n");

Output : hi
hi
hi
hi

fork() && fork();
printf("hi\n");

Output: hi
hi
hi

谁能解释一下这是怎么回事。这是关于编译器的问题吗? (我在 ubuntu14 上使用 gcc)

最佳答案

一个在进行逻辑测试,另一个在对结果进行按位与运算。

 fork() && fork()

这将 fork 。在父级中,它将再次 fork ,因为第一个 fork 的计算结果为非零值(pid),而在子级中则不会。

 fork() & fork()

父节点和子节点都会 fork ,因为这会执行 fork 返回值的按位与(PID 或零)。

关于关于 C 中 fork() 系统调用的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42149535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com