Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1840741
  • 博文数量: 160
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5794
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-23 18:56
个人简介

将晦涩难懂的技术讲的通俗易懂

文章分类

全部博文(160)

文章存档

2019年(14)

2018年(19)

2017年(9)

2016年(26)

2015年(18)

2014年(54)

2013年(20)

分类: LINUX

2013-04-23 21:36:00


点击(此处)折叠或打开

  1. #include "apue.h"
  2. int fun()
  3. {
  4.   int pid;
  5.   if((pid=fork())<0)
  6.     printf("error\n");
  7.   else if(pid==0)
  8.     {
  9.     printf("child..........1\n");
  10.     //return 0;
  11.     exit(0);
  12.     }
  13.    else
  14.     {
  15.     printf("parent..........1\n");
  16.     return pid;
  17.     }
  18. }
  19. int
  20. main(void)
  21. {
  22.   int pid;
  23.   pid=fun();
  24.   if(pid==0)
  25.    {
  26.     printf("child.......2\n");
  27.     exit(0);
  28.     }
  29.   else
  30.    {
  31.     printf("parent..........2\n");
  32.     exit(2);
  33.    }
  34. }
我们知道当return 0和exit(0)用在主函数时候是相通的,但在分主函数中却是不能代替的。
看下面一段程序。当子函数调用return 0的时候,只是函数返回,子进程并没有结束,当子函数调用exit(0)
时,子进程结束。
运行结果:

return 0

exit(0)
阅读(1975) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册