fork系统调用不退出
Fork system call not exiting
我有 运行 以下代码 :
#include <stdio.h>
#include <sys/types.h>
int main()
{
fork();
fork();
fork();
printf("hello\n");
return 0;
}
打印"Hello"字8次后,程序没有退出。这背后的原因是什么?
这是计算 2^3 的一种意外有趣的方法。第一个 fork 使第二个 fork 发生两次,它们每个都使第三个 fork 发生两次,并且所有 8 children 运行 printf! 8个进程确实退出了,但是你的提示在噪音中消失了。
正如评论者所暗示的,您从根本上误解了 fork() 是什么以及它在做什么。但是一路上你做了一个有趣的玩具,太棒了!
我有 运行 以下代码 :
#include <stdio.h>
#include <sys/types.h>
int main()
{
fork();
fork();
fork();
printf("hello\n");
return 0;
}
打印"Hello"字8次后,程序没有退出。这背后的原因是什么?
这是计算 2^3 的一种意外有趣的方法。第一个 fork 使第二个 fork 发生两次,它们每个都使第三个 fork 发生两次,并且所有 8 children 运行 printf! 8个进程确实退出了,但是你的提示在噪音中消失了。
正如评论者所暗示的,您从根本上误解了 fork() 是什么以及它在做什么。但是一路上你做了一个有趣的玩具,太棒了!