上一篇文章讲过僵尸进程,这里再分享给大家另外一种状态。
孤儿进程
什么是孤儿进程?
当一个子进程还在执行时,它的父进程已经退出了,那么这个子进程的退出信息也没有被父进程接收到,如果子进程的退出信息没有被别的进程接收到,那么这个子进程就会变成一个僵尸进程,所以孤儿进程可能会引发僵尸进程。所以这个子进程必须被其他进程所领养,领养它的进程为1号进程,则它的退出信息会被1号进程所接收。
如果父进程退出,父进程会变成僵尸进程吗?
不会,因为父进程的父进程为bash,父进程的退出信息会由bash接收到,这些我们看不到。
我们这里再重温下僵尸进程和孤儿进程:
僵尸进程:
一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。
这种进程称之为僵死进程。
孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些