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

如何等待多个子进程返回

    来源: 互联网  发布时间:2016-04-08

    本文导语:  请问有没函数可以真正等待多个子进程返回,而不是用循环的wait族函数来实现? | 使用信号量,而不是信号是可以实现的。 比如一个信号量,初始值为0,父进程再fork子进程时,执行V操作,假设fork了3...

请问有没函数可以真正等待多个子进程返回,而不是用循环的wait族函数来实现?

|


使用信号量,而不是信号是可以实现的。
比如一个信号量,初始值为0,父进程再fork子进程时,执行V操作,假设fork了3个子进程,那么此时信号量取值为3.
子进程在结束时对信号量执行P操作,当一个子进程结束时,信号量将等于2,当2个子进程结束时,信号量等于1,当3个子进程全部结束时,信号量等于0.
父进程在fork完成后,立刻对信号量进行Z操作,就是等待信号量为0的操作,这个是阻塞操作,只有当信号量等于0时才返回,也就是说只有当3个子进程全部结束时,父进程才继续执行。
——————————————————————————————
《精通Unix下C语言编程与项目实践》
本书以实际应用为目标,直接讲述在产生中最有可能知识,并提供可直接使用的应用编程模板,对初学者尤其有帮助。
本人博客地址:http://zhuyunxiang.csai.cn

|
没有直接这样的调用接口,
你可以自己封装一个。


void WaitAllChildEnd()
{
    pid_t pid;
    int status;

    while(1)
    {
        pid = wait(&status);
        if (pid 

    
 
 

您可能感兴趣的文章:

  • 父进程等待子进程n秒,如果子进程正常退出,父进程立即继续向下执行,如果子出现进程故障一直不退出,父进程等待n秒后继续向下执行,请问
  • 如果一个server进程要fork许多子进程,但不等待子进程终止,也不希望子进程结束后处于僵进程状态直到父进程终止。请问可采用什么方法实现
  • 等待IO时,进程是不是一定被切换到 "等待IO"的状态上去
  • 有没有子进程等待父进程这一说?
  • 子进程wait/waitpid//子进程不结束,父进程会等待子进程吗?
  • 为什么我等待一个子进程的终止总是等待失败啊?
  • Linux 在开启一个新进程后 怎么设置等待进程结束的时间超时
  • linux 下如何等待某个进程结束
  • linux下如何等待进程结束?
  • 请各位兄弟帮忙,在线等待,关于进程返回异常的捕获!!!!
  • 管道中的父进程要不要等待子进程的退出?
  • 大虾们帮个忙吧。linux下可否有类似WaitForSingleObject的等待进程执行完毕的函数呢?
  • 父进程的等待问题
  • 如何用 wait等待所有的子进程结束?
  • 在线等待:怎样使一个进程挂起
  • Solaris上每个进程最大打开文件数的问题,急,在线等待
  • Linux进程等待队列的地址?
  • linux下面如何让线程等待多个事件?
  • 当一个方法有多个返回值时我该如何生命和调用该方法??再线等待,立即送分!
  • 如何在Servlet中取得多个checkbox的value?(急蒙了,苦苦等待)
  • 多个线程同时等待一个锁,获取锁的机制是什么??
  • 多个线程用一个管道通信,不是异常就是无限等待,请指点。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • sendto 函数返回失败错误码14,请大侠指点什么原因,在线等待
  • 如何让java调用外部程序,并且不等待外部程序执行完毕,直接返回?
  • Java中返回参数怎么用? 再现等待,急急急!!!
  • fwrite 居然返回错误,怎么回事,在线等待,解决立即给分
  • 求返回值进来看看,给点意见:有一组物料,每一个物料对应一组出仓和入仓情况,每一个出仓对应一组值!在线等待中......................
  • 为什么服务器端的recvfrom不阻塞等待客户端的数据就返回了?
  • 100分,等待,在线等待:防火墙问题?
  • 等待输入操作
  • 急问:如何得到linux下c程序运行中的IO等待时间?
  • 如何在servlet中实现“正在查询,请等待”的功能
  • Linux 中如何等待一个信号
  • linux下如何在等待线程结束中设置超时?
  • “死锁就是循环等待”这句话不对吗?谢谢!
  • 如何等待线程干净退出?
  • 用while循环等待事件发生时是否可以释放系统资源
  • 请问:如何优雅的结束一个正在等待锁的线程?
  • 关于信号问题,在线等待
  • 大家好,linux内核中等待队列如何使用?哪儿有这些资料?谢谢各位
  • 等待回执造成的信息堵塞问题
  • 60分,求知JBuilder的CD-KEY! 在线等待
  • 新手上路,请多关照!如何查看启动日志????在线等待!!
  • 急救:关于BLOB数据类型---在线等待,高分相送!
  • 有无条件等待指令吗?
  • 在线等待,gcc的网址是什么??
  • 哪儿有bes5下载,在线等待。下载成功再送299分!!!
  • 求UNIXWARE7.11的原版下载,高分相赠,在线等待!!!


  • 站内导航:


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

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

    浙ICP备11055608号-3