#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int glob=8;
int main(void)
{
int var=8;
pid_t pid;
printf("Before vfork\n");
if((pid=fork())<0)
{
printf("Vfork error\n");
}
if(pid==0)
{
var++;
glob++;
exit(0);
}
printf("PID=%d, glob=%d,var=%d\n",getpid(),glob,var);
exit(0);
}
Before vfork
PID=4996, glob=8,var=8
----------------------------------
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int glob=8;
int main(void)
{
int var=8;
pid_t pid;
printf("Before vfork\n");
if((pid=vfork())<0)
{
printf("Vfork error\n");
}
if(pid==0)
{
var++;
glob++;
exit(0);
}
printf("PID=%d, glob=%d,var=%d\n",getpid(),glob,var);
exit(0);
}
Before vfork
PID=4998, glob=9,var=9
#include <unistd.h>
#include <stdio.h>
int glob=8;
int main(void)
{
int var=8;
pid_t pid;
printf("Before vfork\n");
if((pid=fork())<0)
{
printf("Vfork error\n");
}
if(pid==0)
{
var++;
glob++;
exit(0);
}
printf("PID=%d, glob=%d,var=%d\n",getpid(),glob,var);
exit(0);
}
Before vfork
PID=4996, glob=8,var=8
----------------------------------
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int glob=8;
int main(void)
{
int var=8;
pid_t pid;
printf("Before vfork\n");
if((pid=vfork())<0)
{
printf("Vfork error\n");
}
if(pid==0)
{
var++;
glob++;
exit(0);
}
printf("PID=%d, glob=%d,var=%d\n",getpid(),glob,var);
exit(0);
}
Before vfork
PID=4998, glob=9,var=9