return和exit函数的区别

在上Linux课的时候,老师提到一句,调用vfork产生的子进程就是为了使用exec族函数来执行其他的代码逻辑。

在子进程退出的时候有两种方式,exit和exec族函数,不能使用return,为什么不能用return呢,为什么只有vfork会不让用return呢?

于是我就写了这样的代码

#include<stdio.h>                                                               
#include<unistd.h>                                                             
#include<stdlib.h>                                                                                                                             
                                                                               
                                                                               
int main()                                                                     
{                                                                               
  pid_t pid;                                                                   
  pid=vfork();                                                                 
  if(pid==0)                                                                   
  {                                                                             
    //child                                                                     
    printf("I am child pid:%d\n",getpid());                                     
····                                                                           
    return 0;16  }                                                                             
  else                                                                         
  {                                                                             
    //father                                                                   
    printf("I am father pid:%d\n",getpid());                                   
  }                                                                             
  return 0;                                                                     
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/00a3351f9e23c94e24f098f668cd3fbe.html