标签: c operating-system fork
if (fork() == 0) for(;;) sleep(1); else exit(0);
我知道什么是僵尸和孤儿进程,但不知道如何回答这个问题。请解释一下,通过执行此代码可以生成多少个僵尸和孤立进程。谢谢!
答案 0 :(得分:2)
只有一个fork,所以只有一个孩子。父进程没有wait进行子进程退出。孩子进入无限循环,此后不久父母就存在了,所以它变成了一个孤儿的过程。所以:0个僵尸,1个孤儿。
fork
wait
但是如果fork失败,那么根本就没有子进程,而且父进程仍然存在。