wait()操作

CharCollins 2012-01-04 08:05:01
请问下面的程序能否实现,创建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”);
}
...全文
258 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2012-01-04
  • 打赏
  • 举报
回复
wait的参数是status,不是pid..
CharCollins 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qq120848369 的回复:]

可以啊.

父进程每一次返回都继续走下一个if分支.
[/Quote]
请问下面这句
wait(&sv); wait(&sv); wait(&sv);wait(&sv);
等待子进程终止有用吗?
为什么&sv就是子进程的id呢?
qq120848369 2012-01-04
  • 打赏
  • 举报
回复
可以啊.

父进程每一次返回都继续走下一个if分支.

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧