当前位置: 技术问答>linux和unix
wait()操作
来源: 互联网 发布时间:2017-01-28
本文导语: 请问下面的程序能否实现,创建4个子进程,每个子进程都打印“HELLO”后立刻终止,父进程等待4个子进程都终止后,打印“BYE”,然后终止 main() { int sv; if (fork() == 0) { /* 第一个子进程 */ ...
请问下面的程序能否实现,创建4个子进程,每个子进程都打印“HELLO”后立刻终止,父进程等待4个子进程都终止后,打印“BYE”,然后终止
main()
{
int sv;
if (fork() == 0) { /* 第一个子进程 */
printf(”HELLOn”); /* 打印 */
exit(0); /* 进程终止 */
} else if (fork() == 0) { /* 第二个子进程 */
printf(”HELLOn”); /* 打印 */
exit(0); /* 进程终止 */
}else if(fork()==0){
printf(”HELLOn”); /* 打印 */
exit(0);
}else if(fork()==0){
printf(”HELLOn”); /* 打印 */
exit(0);
}
wait(&sv); wait(&sv); wait(&sv);wait(&sv);/* 父进程等待两个子进程终止 */
printf(”BYEn”);
}
main()
{
int sv;
if (fork() == 0) { /* 第一个子进程 */
printf(”HELLOn”); /* 打印 */
exit(0); /* 进程终止 */
} else if (fork() == 0) { /* 第二个子进程 */
printf(”HELLOn”); /* 打印 */
exit(0); /* 进程终止 */
}else if(fork()==0){
printf(”HELLOn”); /* 打印 */
exit(0);
}else if(fork()==0){
printf(”HELLOn”); /* 打印 */
exit(0);
}
wait(&sv); wait(&sv); wait(&sv);wait(&sv);/* 父进程等待两个子进程终止 */
printf(”BYEn”);
}
|
可以啊.
父进程每一次返回都继续走下一个if分支.
父进程每一次返回都继续走下一个if分支.
|
wait的参数是status,不是pid..