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