爱运动,爱看书,爱生活!
分类: 其他UNIX
2013-04-11 10:54:29
#include
#include
#include
//素数判断
int is_prime(int d)
{
int i;
for(i=2;i
if((d%i)==0)
return 0;
}
return d;
}
int main()
{
int i;
if(mkfifo("a.pipe",0666)<0){
printf("mkfifo error.\n");
}
int fd=open("a.pipe",O_WRONLY);
if(fd<0) printf("open file faile.\n");
if(fork()==0){
for(i=2;i<=50;i++){
if(is_prime(i)){
write(fd,&i,sizeof(int));
}
}
sleep(5);
}
if(fork()==0){
for(i=51;i<=100;i++){
if(is_prime(i)){
write(fd,&i,sizeof(int));
}
}
}
}
管道中文件读出结果:
53 59 61 67 71 73 79 83 89 97 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97