管道特点:
只能用于具有共同祖先的进程之间进行通信
管道提供流式服务
一般而言进程退出,管道释放
一般而言内核会对管道操作进行同步与互斥
管道是半双工,数据只能向一个方向流动,双方通信需建立两个管道
服务端serverpipe.c
#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<stdlib.h>
int main()
{
umask(0); //允许进程创建文件时有最大权限
if(mkfifo("mypipe",0644)<0) //创建命名管道
{
perror("mkfifo"); //创建失败
exit(1);
}
int rfd=open("mypipe",O_RDONLY); //只读方式打开管道
if(rfd<0)
{
perror(<