进程间通信之有名管道
/*
利用有名管道文件实现进程间通信,要求
- 写进程向有名管道文件写入10次“hello world”;
- 读进程读取有名管道文件中的内容,并依次打印。
*/
/* 这个实验有三个小部分,要分开写,分别是管道的创建 ,写入,读取,*/
//这个是创建
#include<sys/types.h>
#include<sys/stat.h>
#include<errno.h>
#include<stdio.h>
#include<fcntl.h>
#include<unistd.h>
#include<stdlib.h>
#include<limits.h>
#define BUFES PIPE_BUF
int main()
{
if (mkfifo("testfifo1",777) < 0) //创建一个有名管道 ,并且给他赋予所有权限
{
perror("mkfifo:");
}
else
printf ("mkfifo testfifo1 ok \n");
return 0;
}
//这个是写入,
在执行这个程序之前需要进入root用户,在执行后另外打开一个终端,执行读取操作
#include<sys/types.h>
#include<sys/stat.h>
#include<errno.h>
#include<std