进程与线程(三) 孤儿进程与僵尸进程

具体细节可参考:

http://www.cnblogs.com/Anker/p/3271773.html

本文只是用最小的语言总结:

两者对比:(爹是父进程,孩子是子进程)

爹没了,孩子还在,孩子就是孤儿进程,孤儿被(init)收养。

爹在,孩子在,但是爹不管孩子了,因为有爹又不能收养,此时的孩子就是僵尸进程。

 

 

 

1.你知道什么是僵尸进程,(对系统有害),如何产生的?

僵尸进程不是活着的进程,可以说就是一个数据结构,它是已经完成的任务的进程,但是不是它完成任务后就会烟消云散的,他会留下一点东西,这个东西就是他的进程Id,他的结束状态等,为什么了留下这个东西呢?

因为这个事用来向他的父进程报告自己的完成状况用的,想想父进程为什么会创建一个进程,是用来完成任务的,父亲称需要知道子进程的完成情况,所有出现这样的机制,对于僵尸进程只有父进程自己可以清理掉,调用wait等命令。就可以了。但是父进程不清理咋办,那么就说明僵尸进程存在,浪费了进程Id,进程的id是一种有限资源,用一个少一个啊,所以如果大量的僵尸进程存在的话,解决方法为:杀掉无良的爹,孩子就可以被收养了。

2。什么事孤儿进程?

孤儿,就是没爹,父进程先执行完啦,子进程还在,没爹了咋办,交给Init进程,他是所有进程的祖宗。

 

 

 

你可能感兴趣的:(线程)