gpt4 book ai didi

linux fork系统调用

转载 作者:IT王子 更新时间:2023-10-29 01:11:52 25 4
gpt4 key购买 nike

最近,我在一家知名 IT 公司接受技术面试。面试官问我如果给出以下 3 种不同的 fork 系统调用调用,将创建多少个进程:

  1. fork()

  2. fork()
    fork ()

  3. fork()
    fork ()
    fork ()

第一个问题的答案很明显是 2 个过程。
第二个将启动 3 个进程。
bt我说第三个是5个流程,面试官不同意说是7个。
我不知道它是如何创建 7 个进程的。
请帮忙。

最佳答案

您需要让面试官明确是整个流程还是创建的流程。这是 posix 系统上的一项简单技术(在大多数 fork 难题中)。

int main(int argc, char *argv[])
{
fork();
printf("%d\n", getpid());
fork();
printf("%d\n", getpid());
fork();
printf("%d\n", getpid());

return(0);
}

然后将其运行为:pgm |排序 |唯一性

9314
9317
9318
9319
9320
9321
9322
9323

总共 8 个进程,创建了 7 个。

关于linux fork系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20450565/

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