赞
踩
在谈及僵尸以及孤儿进程前,我们首先需要知道一件事:在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等。但是仍然为其保留一定的信息(包括进程号the process ID,退出状态the termination status of the process,运行时间the amount of CPU time taken by the process等),这些保留下来的信息以及资源会由该子进程的父进程查看最后回收并释放。
一、僵尸进程
1,僵尸进程的概念:一个进程使用了fork()函数创建了子进程,但是在该子进程退出的时候,而父进程并没有调用wait或waitpid获取子进程的状态信息以及回收其资源以及进程号,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵尸进程。
2,查看僵尸进程
二,孤儿进程
1,孤儿进程的概念:孤儿进程的和僵尸进程刚好有一些相反的地方,所谓孤儿,就是无父无母的孩子,那么在进程里面就是:父进程和子进程开始都在跑啊,后来由于某种原因,父进程退出了,但此时子进程还没有退出(这时候子进程就称为孤儿进程),那么当子进程推出的时候,不是没有父进程来查看该子进程的状态以及回收资源了么,系统当然不会让这样的事发生,此时孤儿进程就会由init进程(1号进程)收养,当子进程退出的时候,由一号进程来查看该进程的状态,并回收资源。
2,查看孤儿进程
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。