创建单个进程
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/types.h>
int var=100;
int main()
{
pid_t pid;
printf("xxxxxxxx\n");
pid=fork();
if(pid==-1)
{
perror("fork erroe:");
exit(1);
}
else if(pid==0)
{
var=50;
printf("I'm child: pid=%u\n,ppid=%u\n",getpid(),getppid());
}
else
{
sleep(2);
printf("var=%d\n",var);
printf("I'm parent: pid=%u\n,ppid=%u\n",getpid(),getppid());
sleep(1);
}
printf("YYYYYYYYYYYYYYYYYYY\n");
}
创建多个进程
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/types.h>
int main()
{
int i;
pid_t pid;
printf("xxxxxxxx\n");
for(i=0;i<5;i++)
{
pid=fork();
if(pid==0)
break;
}
if(i<5)
{
sleep(i);
printf("I'm %d child: pid=%u\n,ppid=%u\n",i+1,getpid(),getppid());
}
else
{
sleep(i);
printf("I'm parent: pid=%u\n,ppid=%u\n",getpid(),getppid());
}
printf("YYYYYYYYYYYYYYYYYYY\n");
}