- 論壇徽章:
- 0
|
我有個程序, 啟動起來按照一定順序調(diào)用多個可執(zhí)行程序, 并且其他程序是一直運行的...
代碼如下:
for(its=pXmlElement->begin(); its!=pXmlElement->end(); its++)
{
judo::Element *pEle = (judo::Element*)*its;
if(pEle->getType() != judo::Node::ntElement)
{
continue;
}
string sExeName = pEle->getCDATA();
pid_t pid;
if((pid = fork()) < 0)
{
ErrorMsg("%s", "fork error");
}
else if(pid == 0)
{
printf("begin sExeName = %s\n", sExeName.c_str());
if(execl(sExeName.c_str(), sExeName.c_str(), NULL) < 0)
{
ErrorMsg("%s", "execle error");
}
printf("end sExeName = %s\n", sExeName.c_str());
}
if(waitpid(pid, NULL, 0) < 0)
{
ErrorMsg("%s", "wait error");
}
sleep(1);
}
現(xiàn)象, 啟動一個程序后, 這個進(jìn)程不退出, 下一個進(jìn)程就啟動不起來.... |
|