- 论坛徽章:
- 0
|
fork+exec的方式调用失败?
经过观察发现,当产生进程数目比较少时,fork+exec的方式可以正常调用我的程序],"/opt/proc/myproc,当进行数目多时,就调用不了,代码如下:
char *rdn[64];
。。。。。。。。。。。。
strcpy(rdn[0],"/opt/proc/myproc" ;
strcpy(rdn[1],"-w" ;
rdn[2]=NULL;
int iPid=fork();
if(iPid<0) {
perror("fork" ;
exit(-1);
}
if(iPid==0) {
signal(SIGHUP,SIG_DFL);
signal(SIGCHLD,SIG_DFL);
execv(rdn[0],rdn);
perror("execv\n" ;
exit(-1);
}
if(iPid>;0) {
printf("ipid=%d\n",iPid);
sleep(1);
waitpid(iPid,&stat,WNOHANG);
if(WIFEXITED(stat)){
printf("exit stat:%d\n",stat);
}
}
return 0;
} |
|