孤儿进程 && 僵尸进程

background:

unix:

每个子进程退出,内核释放该进程所有资源,打开的文件,占用的内存

                            保留的信息:the process ID,the termination status of the process,the amount of CPU time taken by the process

父进程用wait()/waitpid()释放子进程的保留信息

父进程不调用wait()/waitpid()进程号一直被占用,系统所能提供的进程号有限,没有可用的进程号导致系统不能产生新的进程

Zombie 僵尸进程

一个进程fork()创建了子进程,子进程退出,父进程没有调用wait()/waitpid()释放子进程的保留信息,子进程的进程描述仍保存在系统中,进程号仍被占用

Orphan 孤儿进程

父进程退出,他的一个或多个子进程还在运行,子进程成为孤儿进程。孤儿进程将被init进程收养,init进程对他们完成状态收集,释放子进程的状态描述,主要是进程号

原文地址:https://www.cnblogs.com/HackHer/p/5432972.html