博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

CUDev

Hello,all like Unix Linux and CU ! ^_^
CUDev.cublog.cn


进程的相关概念
    在Kernel的书或者是System Programming的书中,有下面这些名词:僵死状态、僵尸进程、孤儿进程。
我感觉有必要阐述一下这几个词。

僵死状态:
    这是进程的一种状态,当子进程退出之后,子进程会释放自己的一些资源,例如文件描述符、内存等;但是子进程需要向父进程返回它的状态,有些东西是不能够释放的,在Linux中这实际上就是task_struct,也就是操作系统中常说的PCB。task_struct中保存着进程的退出状态,父进程调用wait,实际上就是从其子进程的task_struct中获取相应的字段。
    就在子进程结束,父进程还未调用wait之前,这段时间子进程已经退出了,但是其task_struct还保留着,这个状态称为“僵死状态”。

僵尸进程:
    父进程先于子进程退出,,那么自进程就变成了“僵尸进程”,直到子进程运行结束。

孤儿进程:
    僵尸进程,在运行结束的时候,会被init收养,成为“孤儿进程”,一般情况下,init会调用wait来获取进程的退出状态,进程彻底死掉。


发表于: 2007-11-24 ,修改于: 2007-11-24 18:36,已浏览520次,有评论0条 推荐 投诉


网友评论

发表评论