#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
int main( )
{
pid_t son_pid,daughter_pid;
int count =1;
son_pid =fork(); //父进程创建son子进程
if(son_pid == 0)
{
count++;
printf("I am son,count = %d\n",count);
}
else
{
daughter_pid = fork(); //父进程创建daughter子进程
if(daughter_pid == 0)
{
count++;
printf("I am daughter,count = %d\n",count);
}
else
{
count++;
printf("I am father,count = %d\n",count);
//父进程等待son及daughter进程退出后才结束
waitpid(son_pid,NULL,0);
waitpid(daughter_pid,NULL,0);
}
}
}