/* 创建多进程fork函数,fork函数是创建调用的进程副本,并非根据完全不同的程序创建进程,而是复制正在运行的调用
* fork函数的进程。两个进程都执行fork函数调用后的语句。
* 父进程:fork函数返回子进程ID,
* 子进程:fork函数返回0
* fork函数的进程。两个进程都执行fork函数调用后的语句。
* 父进程:fork函数返回子进程ID,
* 子进程:fork函数返回0
* */
#include <stdio.h>
#include <unistd.h>
int gval = 10;
int main(int argc, char *argv[])
{
pid_t pid;
int lval = 20;
gval++;
lval += 5;
pid = fork();
if(pid==0){
gval += 2;
lval += 2;
}
else{
gval -= 2;
lval -= 2;
}
if(pid==0)
{
printf("child proc: [%d, %d]\n", gval, lval);
}
else{
printf("parent proc: [%d, %d]\n", gval, lval);
}
}