快速业务通道

linux下C的fork函数应用实例

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-23

最近在复习考试,顺便把一些心得写下来吧.

题目:写出一段程序,创建4个子进程,每个子进程都打印“Hello”后立刻终止,父进程等待4个子进程都终止后,打印“Bye”,然后终止.

答:这里有两种结构的程序,各位看哪种顺眼就看哪种吧~

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<sys/types.h>
  4. #include<sys/wait.h>
  5. int main()
  6. { char *msg = "Hello";
  7. pid_t pid;
  8. int count = 0;
  9. for(count = 0;count<4;count )
  10. { pid = fork();
  11. if (0 != pid) //父进程执行
  12. wait(NULL);
  13. else //子进程执行
  14. { printf("Child %d: ", count);
  15. puts("Hello");
  16. 拥有帝国一切,皆有可能。欢迎访问phome.net exit(0);
  17. }
  18. }
  19. printf("Father : ");
  20. puts("Bye");
  21. exit(0);
  22. }
  23. /*
  24. fork1:
  25. pid = fork();
  26. if (0 != pid) //父进程执行
  27. { wait(NULL);
  28. if (count < 3)
  29. { count ;
  30. goto fork1;
  31. }
  32. else
  33. { printf("Father : ");
  34. puts("Bye");
  35. }
  36. }
  37. else //子进程执行
  38. { printf("Child %d: ", count);
  39. puts("Hello");
  40. }
  41. exit(0); 拥有帝国一切,皆有可能。欢迎访问phome.net
  42. }*/

本文出自 “标题不能为空” 博客,请务必保留此出处http://hector.blog.51cto.com/4229131/756378

拥有帝国一切,皆有可能。欢迎访问phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多
上一篇: seq命令简介下一篇: svn配置详解

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号