#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <stdio.h>
#include <errno.h>
#include <math.h>
int main(void)
{
pid_t child;
if((child=vfork())==-1) //创建子进程
{
printf("error");
exit(1);
}
else if(child==0) //子进程
{
printf("I can do it,%d\n",getpid());
sleep(1);
exit(0);
}
else //父进程
{
printf("hi ,i believe you,%d\n",getpid());
return 0;
}
#include <sys/types.h>
#include <sys/wait.h>
#include <stdio.h>
#include <errno.h>
#include <math.h>
int main(void)
{
pid_t child;
if((child=vfork())==-1) //创建子进程
{
printf("error");
exit(1);
}
else if(child==0) //子进程
{
printf("I can do it,%d\n",getpid());
sleep(1);
exit(0);
}
else //父进程
{
printf("hi ,i believe you,%d\n",getpid());
return 0;
}
}
fork 与 vfork的区别,fork顺序不确定,vfork可以确定父进程必定是在子进程运行完后才开始运行。