当前位置:  技术问答>linux和unix

关于僵死进程,求助

    来源: 互联网  发布时间:2017-01-27

    本文导语:  如果子进程终止,但是父进程为对他进行善后处理(获取子进程的有关信息,释放它仍占用的资源),这样的进程就叫僵死进程。 请问,进程终止后还有留在哪里的哪些资源系统不能释放,必须要由父进程去处理? ...

如果子进程终止,但是父进程为对他进行善后处理(获取子进程的有关信息,释放它仍占用的资源),这样的进程就叫僵死进程。

请问,进程终止后还有留在哪里的哪些资源系统不能释放,必须要由父进程去处理?

|
好吧,这个是linux内核 的一些概念了,这么说吧,每个进程都有每个进程的 task_struct ( 存储在每个task的栈区的底部,), thread_info, 最重要的是 内核栈 区的保存 ,这个资源是不会被释放的,而一个进程退出了,只会释放它创建出的东西,比如 mmap fd  sem等等信息,因为这是它自己创建的,由它自己回收是正常的。

那什么不是它自己创建的呢?task_struct thread_info 和 stack。这些信息如果内核不关心的话,直接丢弃好了,当然肯定会有人关心,比如出错的时候,肯定要知道它到底执行了那些操作(stack保存着)。

task_struct 就是每个进程的一个标示一样,里面存储着,你占用那些资源,调度,等级,nice值,等等。

你可以这样理解, 父亲和儿子的关系   父亲死了,那儿子只好被上帝(init 进程 , 上帝是创造一切东西的东东)领养,如果儿子死了,那父亲要去为儿子收尸(并看看儿子身上的状态,找死因)。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 虚拟机僵死打不开小红帽是咋弄的啊?
  • thread正常结束也是进入僵死状态么?
  • 为什么程序会僵死在控制台下??
  • 内核线程僵死如何解决?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3