c、创建 children 和 wait()
c, creating children and wait()
我以为 wait(4) 指令会强制 parent 进程等待它 children 完成但实际上并没有,进程 "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);
wait
等待 one child 终止。你需要调用它两次。
我以为 wait(4) 指令会强制 parent 进程等待它 children 完成但实际上并没有,进程 "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);
wait
等待 one child 终止。你需要调用它两次。