当前位置: 技术问答>linux和unix
多进程问题
来源: 互联网 发布时间:2016-06-13
本文导语: 我想要用多进程同时采集五个端口的数据,请问要fork怎么实现?怎样让父进程等待所有子进程结束?那位大侠给出简单的程序,我是新手! | 楼主可以在父进程中保留fork出来的子进程ID,然...
我想要用多进程同时采集五个端口的数据,请问要fork怎么实现?怎样让父进程等待所有子进程结束?那位大侠给出简单的程序,我是新手!
|
楼主可以在父进程中保留fork出来的子进程ID,然后每次wait都把对应的子进程ID从列表中释放出来,直到列表为空
list lChdProcs;
lChdProcs.clear();
pid_t pid;
for(int i=0;i0) lChdProcs.push_back(pid);
}
//处理程序
while(lChdProcs.size()==0)
{
pid_t WaitPid;
WaitPid = wait();
lChdProcs.remove(WaitPid)
}
以上是伪代码,仅用来表示整体流程
list lChdProcs;
lChdProcs.clear();
pid_t pid;
for(int i=0;i0) lChdProcs.push_back(pid);
}
//处理程序
while(lChdProcs.size()==0)
{
pid_t WaitPid;
WaitPid = wait();
lChdProcs.remove(WaitPid)
}
以上是伪代码,仅用来表示整体流程