Linux内核源码浅析——僵尸进程

本文探讨了Linux内核中进程的退出状态,特别是僵尸进程。进程在退出时可能直接进入EXIT_DEAD状态,取决于父进程是否关心其退出。父进程通过wait系列函数接收SIGCHLD信号后,子进程变为EXIT_ZOMBIE,最终变为EXIT_DEAD。若父进程忽略子进程退出,子进程可能直接变为EXIT_DEAD。init进程会负责清理无人认领的僵尸进程。
摘要由CSDN通过智能技术生成

1.  进程状态:

a)    前面5个为进程状态,后面2个为进程退出状态。

 

         i. INTERRUPTIBLE和UNINTERRUPTIBLE的区别在于,INTERRUPTIBLE的进程可以被其他信号唤醒,而UNINTERRUPTIBLE只能被它所等待的信号唤醒(无法kill)

        ii. 父进程关心子进程(调用wait):当父进程建立子进程后,可以调用waitpid()等待子进程结束,子进程结束时要向它发送SIGCHLD信号,然后变为EXIT_ZOMBIE状态。父进程要处理这个信号,处理后子进程才是EXIT_DEAD状态。

          iii.  父进程不关心子进程(不调用wait):子进程

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值