#include<stdio.h>
#include<unistd.h>
/*程序输出结果
主进程id:8377
进程id:8377,父进程id:3290,插曲
进程id:8377,父进程id:3290,Bye
进程id:8378,父进程id:8377,hello
进程id:8378,父进程id:8377,Bye
进程id:8379,父进程id:1397,插曲
进程id:8379,父进程id:1397,Bye
进程id:8380,父进程id:1397,hello
进程id:8380,父进程id:1397,Bye
*/
int main()
{
printf("主进程id:%d\n",getpid());
if(fork()==0||fork()==0&&fork()==0) {
printf("进程id:%d,父进程id:%d,hello\n",getpid(),getppid());
} else {
printf("进程id:%d,父进程id:%d,插曲\n",getpid(),getppid());
}
printf("进程id:%d,父进程id:%d,Bye\n",getpid(),getppid());
return 0;
}
原文:http://my.oschina.net/zzw922cn/blog/493304