我理解当一个进程没有很好地清理(其资源未被回收/收割)时,就会创建一个僵尸进程。在调用fork()创建新进程后,父进程应始终调用waitpid来清理它。
我还了解到,通过复制一个由fork创建的子进程并让该子进程死亡,可以创建守护进程。显然,在这样做后,UNIX中的init进程(pid#1)将接管该进程。
我想知道的是-据我所知,当父进程死亡时,它会自动清理子进程-那么,为什么会首先创建一个僵尸进程?
其次,守护进程的父进程死亡,那么为什么守护进程不被视为僵尸进程?
我还了解到,通过复制一个由fork创建的子进程并让该子进程死亡,可以创建守护进程。显然,在这样做后,UNIX中的init进程(pid#1)将接管该进程。
我想知道的是-据我所知,当父进程死亡时,它会自动清理子进程-那么,为什么会首先创建一个僵尸进程?
其次,守护进程的父进程死亡,那么为什么守护进程不被视为僵尸进程?