thread学习笔记2

孤儿进程:当父进程先于子进程退出,此时子进程就会成为孤儿进程。

  • 孤儿进程会被系统指定进程收养,即系统进程会成为孤儿进程新的父进程。

僵尸进程:子进程先于父进程推出,父进程每行由处理子进程的退出状态,此时子进程就会成为僵尸进程

  • 僵尸进程会滞留部分PCB信息在内存中,大量的僵尸进程会消耗系统的内存资源,所以要尽量避免僵尸进程产生

如何避免僵尸进程产生

  • 父进程先退出
  • 父进程处理子进程退出状态

pid,status = os.wait()
功能:在父进程中阻塞等待处理子进程的退出
返回值:pid 退出的那个子进程的pid号;status 子进程的退出状态

获取原来的退出状态
os.WEXITSTATUS(status))

pid,status = os.waitpid(pid,option)
功能:在父进程中阻塞等待处理子进程的退出
参数:

  • pid -1 表示等待任意子进程推出;>0 表示等待对应pid号的子进程退出;
  • option 0 表示阻塞等待;WNOHANG 表示非阻塞
    返回值:pid 退出的那个子进程的pid号;status 子进程的退出状态
    os.waitpid(-1,0) == os.wait()

创建二级子进程
父进程创建子进程等待子进程退出
子进程创建下一级子进程,然后立即退出
二级子进程成为孤儿,处理具体工作

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值