Linux fork与vfork的区别

fork和vfork都会创建子进程,它们有什么区别呢?

一、fork:子进程拷贝父进程的数据段

  vfork:子进程与父进程共享数据段

二、fork:父、子进程的执行次序不确定

  vfork:子进程先运行,父进程后运行

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <signal.h>



int main (int argc, char *argv[])

{

  int number = 0;

  pid_t pid;



  pid = vfork();

  number++;

  printf("number %d", number);



  return 0;

}

 

 

你可能感兴趣的:(linux)