wait()操作
请问下面的程序能否实现,创建4个子进程,每个子进程都打印“HELLO”后立刻终止,父进程等待4个子进程都终止后,打印“BYE”,然后终止
main()
{
int sv;
if (fork() == 0) { /* 第一个子进程 */
printf(”HELLO\n”); /* 打印 */
exit(0); /* 进程终止 */
} else if (fork() == 0) { /* 第二个子进程 */
printf(”HELLO\n”); /* 打印 */
exit(0); /* 进程终止 */
}else if(fork()==0){
printf(”HELLO\n”); /* 打印 */
exit(0);
}else if(fork()==0){
printf(”HELLO\n”); /* 打印 */
exit(0);
}
wait(&sv); wait(&sv); wait(&sv);wait(&sv);/* 父进程等待两个子进程终止 */
printf(”BYE\n”);
}
[解决办法]
可以啊.
父进程每一次返回都继续走下一个if分支.
[解决办法]
wait的参数是status,不是pid..