我认为wait(4)指令会强制父进程等待它的子进程完成但是没有,实际上进程“hijo2”首先启动,“padre”第二次和“hijo1”第三次
int variable = 6;
if (fork() == 0){
variable = variable -3;
printf("\nLa variable del proceso hijo1 contiene %d\n", variable);
} else if (fork()==0){
variable = variable -3;
printf("\nLa variable del proceso hijo2 contiene %d\n", variable);
} else {
wait(2);//para esperar a que terminen los hijos
variable = variable +5;
printf("\nLa variable del proceso padre contiene %d\n", variable);
}
exit(0);
答案 0 :(得分:1)
wait
等待一个子项终止。你需要打两次电话。