linux之fork,vfork创建子进程

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


}


fork 与 vfork的区别,fork顺序不确定,vfork可以确定父进程必定是在子进程运行完后才开始运行。

你可能感兴趣的:(linux之fork,vfork创建子进程)