- fork运行后子进程拷贝一份父进程的数据,父进程和子进程不知道谁先运行,完全看系统的调度
- vfork直接运用父进程存储空间,不拷贝,vfork保证子进程先运行,运行结束后(exit后)父进程再运行。
先看看fork的程序运行
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<unistd.h>
int main()
{
pid_t pid;
// printf("Father pid is%d\n",getpid());
int data=10;
pid=fork();
if(pid>0)
{
while(1)
{
printf("This is father!,pid=%d\n",getpid());
sleep(1);
}
}