【发布时间】:2012-03-19 20:23:38
【问题描述】:
我在Wikipedia上看,文章说,“fork()系统调用的目的是创建一个新进程,它成为调用者的子进程,之后,父进程和子进程,将执行fork()系统调用之后的代码。因此,区分父进程和子进程很重要。这可以通过测试fork()系统调用的返回值来完成。"
那么,这段代码执行了什么:
printf("This is a fork!");
fork();
根据描述,它看起来会说“这是一个叉子!”只有一次,因为在 fork() 语句之后什么都没有。然而,当我在一个 linux 机器上测试它时,它打印出“这是一个叉子!”两次。那么是哪一个呢?
谢谢。
【问题讨论】: