编写一个孤儿进程,这个孤儿进程可以同时创建100个僵死进程

这道题程序很简单,我就不贴出来了,主要是理解孤儿进程和僵死进程。

孤儿进程:父进程在子进程退出前退出了,只有儿子在了。但是这样init进程会接管这些孤儿,wait并释放了pid,所以孤儿进程没什么危害。

僵死进程:子进程退出了,父进程没wait ,收到退出信号,虽然子进程释放了内存一些资源,但子进程pid一直霸占着,只有父进程wait了,这样子进程pid就会释放,要不然形成了僵死进程。僵死进程一旦多了,这样pid资源就少了,所以危害很大。

我这道题遇到的问题是,在孤儿进程中不停的fork(),父进程sleep(1),子进程exit(0),这样就能保证形成僵死进程,创建了5个,你说现在有多少进程,不是32个,也不是5个,而是1个,因为fork时,我不停的推出了子进程,这样始终只存在父进程,所以最后我那个计数器始终只打印一次。

原创文章 7 获赞 3 访问量 4949

猜你喜欢

转载自blog.csdn.net/wwssttcc/article/details/49386497
今日推荐