Linux fork和子进程使用copy-on-write技术后,这是如何实现的

Linux fork和子进程使用copy-on-write技术后,这是如何实现的,linux,kernel,Linux,Kernel,在linux中,当我们使用fork()时,并不是真的将所有资源复制到子进程。它使用了写上拷贝技术。这是什么意思 例如: 如果我调用fork(),如下所示: pid=fork(); if(0==pid) { test(1);//something that i want to run } else if (pid > 0) { ;//some statement } else { printf("error fork process\n"); } 如何理解这

在linux中,当我们使用fork()时,并不是真的将所有资源复制到子进程。它使用了写上拷贝技术。这是什么意思

例如: 如果我调用fork(),如下所示:

pid=fork();
if(0==pid)
  {
     test(1);//something that i want to run
  }
else if (pid > 0)
{
     ;//some statement
}
else
{
  printf("error fork process\n");
}
如何理解这个例子中的副本

如果我在son过程中添加execv(“程序”,参数),系统中发生了什么?请阅读相关的
man
页面,等等。。。