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