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;
}

 

 

posted @ 2013-05-07 20:04  robotke1  阅读(257)  评论(0编辑  收藏  举报