一、问题描述
①要编译运行的文件
# include<stdio.h>
#include <unistd.h>
int main()
{ int p1, p2, i;
while((p1=fork())==-1)
if(p1==0)
for(i=0;i<500;i++)
printf("daughter %d\n",i);
else
{ while((p2=fork())==-1)
if(p2==0)
for(i=0;i<500;i++)
printf("son%d\n",i);
else
for(i=0;i<500;i++)
printf("parents%d\n",i);
}
}
②Ubuntu终端一直报错的问题
z1.c:4:14: warning: implicit declaration of function ‘fork’ [-Wimplicit-function-declaration]
while((p1=fork())==-1)
^
二、解决方案
其实出现这个问题是因为没有在要编译运行的文件中加入头文件,因此需要先查看该函数的头文件
此处要用上如下命令:
man fork
接下来就会出现以下情况:
接下来只要在要编译的文件中加上该头文件就能编译成功了