返回信息流对于waitpid,可以指定选项WNOHANG,告诉waitpid在有未终止的子进程运行时不要阻塞
而对于wait(),是没有办法防止wait在有未终止的子进程运行时阻塞
后面这句,wait阻塞了是指啥意思?
这是一条镜像帖。来源:北邮人论坛 / soft-design / #21556同步于 2007/10/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
关于waitpid和wait() 请教
bbsbyr
2007/10/6镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 bbsbyr 的大作中提到: 】
: 哦,谢谢LS
: 恩,看来用waitpid的话,是不是父进程就不会卡在那里,这样当多个信号到达时也可以同时接收?
也就是用WHILE循环可以同时接收多个子进程的终止信号?不然一次只能接收一个了
【 在 bbsbyr 的大作中提到: 】
: 也就是用WHILE循环可以同时接收多个子进程的终止信号?不然一次只能接收一个了
我记得是可以的,返回值中保存有子进程的pid和退出状态,可以用来判断是哪个子进程
【 在 akeybupt2004 的大作中提到: 】
: 我记得是可以的,返回值中保存有子进程的pid和退出状态,可以用来判断是哪个子进程
o 那个时通过创建子进程的办法
而我上面说的那个要是阻塞了估计就 同时处理多个了
用waitpid的话可以不阻塞 同时处理多个了
waitpid的使用很灵活的,他根据传进去的pid_t来判断需要监视的子进程类型----同个进程组的,还是指定pid的,还是任一子进程。当设置不阻塞标记后,他会直接返回终止子进程的pid,错误时返回-1,故可以使用while来遍历所有子进程并进行相应的处理
【 在 akeybupt2004 的大作中提到: 】
: waitpid的使用很灵活的,他根据传进去的pid_t来判断需要监视的子进程类型----同个进程组的,还是指定pid的,还是任一子进程。当设置不阻塞标记后,他会直接返回终止子进程的pid,错误时返回-1,故可以使用while来遍历所有子进程并进行相应的处理
恩
你研的还是本科
最近也在搞LINUX开发吗