python waitpid_菜鸟世界 - python fork子进程(一)

本文主要介绍了Python中的waitpid函数,用于处理子进程收尸问题。waitpid提供阻塞和非阻塞两种模式,并通过不同选项关注不同状态的子进程。文章通过示例展示了如何判断子进程的状态,如正常退出、被信号杀死、停止或恢复执行。
摘要由CSDN通过智能技术生成

1 10 <__main__.testfork instance at>

2 57320 <__main__.testfork instance at>

2 57321 <__main__.testfork instance at>

我是主进程 57318

我是子进程 57320

2 57319 <__main__.testfork instance at>

4、收尸

如果父进程还存在,而子进程退出了,那么子进程会变成一个僵尸进程,父进程必须为他收尸。如果父进程先结束了,而子进程还没有结束,此时,子进程的父进程就变成了init进程,由它来负责为子进程退出后收尸。

收尸有两种方法,一个是wait,一个是os.waitpid,wait是阻塞的,而os.waitpid可以设置为非阻塞的,本篇重点讲解waitpid。

4.1 waitpid

waitpid函数定义为  defwaitpid(pid, options),第一个参数取值有以下几种情况:

(1) pid > 0  等待进程ID为pid的子进程,此时是精确打击

(2) pid = 0 等待与调用进程同一个进程组的任意子进程

(3) pid = -1 等待任意子进程,此时和wait等价

(4)   pid < -1 等待进程组ID与pid 绝对值相等的所有子进程

4.2 options

options 是以下几个标志位的组合

(1)    os.WNOHANG         如果子进程没有发生变化,则立刻返回,不会阻塞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值