据我所知,当一个进程没有很好地清理(它的资源没有被回收/收割)的时候,就会创建一个僵尸。在调用fork()创建一个新进程之后,父进程应该总是在该进程上调用waitpid来清理它。UNIX僵尸和守护进程
我也已经了解到,一个守护进程是通过分叉自己创建的一个孩子创建的,然后让孩子死亡。很明显,UNIX中的init进程(pid#1)会在您执行此操作后收集进程的保管。
我想知道的是 - 据我所知,当父母死亡时,它会自动清理孩子 - 那么僵尸是如何在第一个地方创建的?其次,守护进程的父母会死亡,为什么守护进程不被认为是僵尸?
任何人想对匿名downvote和close请求发表评论吗?我觉得这是一个非常稳固的问题。 –
有人可能会认为这更多是一个服务器故障问题,但流程管理与* nix编程有关,所以我没有看到太多问题。 –
父母死亡的进程是孤儿,而不是僵尸。僵尸是'活的死者';孤儿可以是社会的生产性成员。 –