#include<stdio.h>
#include<fcntl.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<string.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/wait.h>

#define FILEPATH “/home/hongsir1994/test.log”

int client(int fread,int fwrite)
{
char buf[256];

memset(buf,0,256);
write(fwrite,FILEPATH,sizeof(FILEPATH)); memset(buf,0,256);
read(fread,buf,sizeof(buf));
write(1,buf,256);
return 0;

}

int serve(int fread,int fwrite)
{
char buf[256];
int fd;
memset(buf,0,sizeof(buf));
int n = read(fread,buf,sizeof(FILEPATH));

if ( n == 0)
{perror("no this path in linux,please check path\n");
}fd=open(buf,O_RDONLY);if( fd < 0){     write(fwrite,buf,sizeof(buf));
}else{memset(buf,0,256);read(fd,buf,256);write(fwrite,buf,sizeof(buf));
}return 0;

}

int main(void)
{
int fd_1[2],fd_2[2];

pid_t pthid;pipe(fd_1);
pipe(fd_2);if( (pthid=fork()) == 0)
{close(fd_1[1]);close(fd_2[0]);serve(fd_1[0],fd_2[1]);
}close(fd_1[0]);
close(fd_2[1]);client(fd_2[0],fd_1[1]);waitpid(pthid,NULL,0);return 0;

}

pipe 双管道 简易实现代码相关推荐

  1. 猎豹MFC--TH_双管道--对管道的操作就想对文件的操作一样

    使用双管道 给两个进程进行通信,不需要再开辟进程  效率高"反复使用一个进程进行通信 两个管道  四个句柄  , 两个成员变量 两个局部变量" 修改单管道1的代码" 粘贴 ...

  2. D455 如何同时传输视频深度流和惯性单元IMU流?(双管道方法与调用回调方法)

    文章目录 双管道方法 回调callback方法 [D455][python]How to get color_stream\depth_steam\accel_stream\gyro_stream a ...

  3. 【图像处理】双三次插值(Bicubic interpolation)原理及matlab简易版代码

    先简单写下. 双线性插值:缩放后图像矩阵(简称TI)像素坐标映射到原图像矩阵(简称OI)中得坐标点P(x,y),P点临近四个坐标点像素值的线性加权求和即P点像素值. "双"指的图像 ...

  4. linux pipe 命名管道,linux 进程学习笔记-named pipe (FIFO)命名管道

    与"无名管道"不同的是,FIFO拥有一个名称来标志它,所谓的名称实际上就是一个路径,比如"/tmp/my_fifo",其对应到磁盘上的一个管道文件,如果我们用f ...

  5. Pipe Utilization管道利用率

    Pipe Utilization管道利用率 概述 CUDA设备的每个流式多处理器(SM)都具有许多专门用于执行特定任务的硬件单元.在芯片级,这些单元提供执行管道,翘曲调度程序将指令发送到这些管道.例如 ...

  6. DCMTK:OFStandard类中的ASCII /双转换方法的测试代码

    DCMTK:OFStandard类中的ASCII /双转换方法的测试代码 OFStandard类中的ASCII /双转换方法的测试代码 OFStandard类中的ASCII /双转换方法的测试代码 # ...

  7. html双箭头菜单,CSS常用样式之绘制双箭头的示例代码

    一.多次调用单箭头 实现了单箭头–就很容易实现双箭头了,上文已经介绍2种实现单箭头的原理: 边框旋转方式.双三角覆盖方式.这次以边框旋转为例多次调用实现双箭头. 1.边框旋转单箭头实现 .arrow- ...

  8. 【AQI计算器】简易实现代码

    分享代码前,先作几点说明: 1.关于污染物浓度数据有效性的判断 对于整数,采用isdecimal()方法判断:对于小数(仅一氧化碳),采用split('.')方法将字符串拆成两部分判断. 2.关于IA ...

  9. Shell入门(六)之Shell pipe(管道)

    Shell入门(六)之Shell pipe(管道) Shell pipe(管道)命令 pipe(管道)命令使用|界定符号. pipe管道命令|,仅能处理经由前面一个指令传来的信息,也就是标准输出(st ...

最新文章

  1. ORM 框架中SQLALCHEMY一点点个人总结
  2. 助力航天元器件管理“高可靠降成本”,赛思库获数千万元Pre-A轮融资
  3. Appium+python自动化8-Appium Python API
  4. w8计算机配置要求,win8配置要求 详细介绍
  5. vc编译 matlab,精通VC与MATLAB联合编程——编译器的使用
  6. LINUX用iptable完成端口映射
  7. DataGrid导出Excel
  8. BZOJ3457 : Ring
  9. 关于ROS的设置问题
  10. html打印文字不显示图片,word打印预览时候没问题但是打印出来时候有些文字却不显示...
  11. Android 关于ApplicationInfo flags快速了解
  12. ffmpeg常用操作 - 录屏 - 转码
  13. Tilera推用于云计算的多核处理器Meshed
  14. five86-1靶机渗透攻略
  15. JeecgBoot腾讯云部署发布小结
  16. 雅虎微软合作对手机搜索领域的影响
  17. 微信小程序--------商品物流跟踪模板
  18. 一些软件的安装(cherrytree,mplayer,flash插件)
  19. 使用canvas制作绘图板
  20. (WSL) Linux显示自己的系统logo ---- screenfetch

热门文章

  1. will_paginate 用作查询分页的注意事项
  2. 老男孩教育每日一题-2017年4月28日- MySQL主从复制常见故障及解决方法?
  3. java小练习:.根据输入的月份,判断该月份有多少天
  4. 详解Makefile 函数的语法与使用
  5. RHCS图形界面建立GFS共享上
  6. 解决MySQL命令行无法连接问题错误ERROR1045(28000)
  7. linux fcitx启动 窗口,Linux系统Fcitx中文输入法开机启动方法
  8. 计算机二级执行程序,计算机二级VFP程序文件的建立与执行
  9. 微信小程序打开红包的css_山海经攻略(微信小程序现金红包提现游戏)
  10. mysql的windows安装步骤_window mysql安装详细步骤