#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
int pid,k;
for(k=1;k<11;k++){
pid=fork();
if(pid==0||pid==-1)
break;//子进程不创建子进程
}
if(pid==0)
printf("第%d个子进程,进程编号为%d\n",k,getpid());
else if(pid==-1)
printf("error");
return 0;
}
// 由父进程生成子进程
运行结果显示:
[xxx@localhost c++]$ ./test
第1个子进程,进程编号为19866
第3个子进程,进程编号为19868
第6个子进程,进程编号为19871
第8个子进程,进程编号为19873
第9个子进程,进程编号为19874
[xxx@localhost c++]$ 第2个子进程,进程编号为19867
第5个子进程,进程编号为19870
第4个子进程,进程编号为19869
第7个子进程,进程编号为19872
第10个子进程,进程编号为19875