【发布时间】:2016-03-13 19:37:25
【问题描述】:
我有 2 个程序,我需要第二个程序的值才能正确继续我的第一个程序。我用 execlp 调用了一个第二个程序,并将 kill 的数量保存在 ret 中,但没有正确返回该数字。 我可以帮忙吗?
第一次申请;
pid_t pid;
int ret=0;
pid = fork();
if(pid == 0){
ret = execlp("/media/partilha/scomp1516t2dag02/modulo1/ex20/batota", "batota", (char*) NULL);
if(ret == -1){
printf("Erro da aplicação!");
exit(0);
}
}
wait(&estado);
第二次申请
int main(void){
int ret;
srand(time(NULL));
ret = (rand() % 5) + 1;
exit(ret);
}
【问题讨论】:
-
execlp不返回(除非出现错误)。 -
不要经常在这个论坛上聊天,因为我的英语不是最好的,但是谢谢。当我遇到问题时如果有人能帮助我感激不尽。
-
waitreturns 之后,应该可以使用WEXITSTATUS(estado)获取子进程的退出状态。你试过吗? -
已经正常工作,它缺少 WEXITSTATUS(状态)。谢谢。
标签: c