pipe 双管道 简易实现代码
#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 双管道 简易实现代码相关推荐
- 猎豹MFC--TH_双管道--对管道的操作就想对文件的操作一样
使用双管道 给两个进程进行通信,不需要再开辟进程 效率高"反复使用一个进程进行通信 两个管道 四个句柄 , 两个成员变量 两个局部变量" 修改单管道1的代码" 粘贴 ...
- D455 如何同时传输视频深度流和惯性单元IMU流?(双管道方法与调用回调方法)
文章目录 双管道方法 回调callback方法 [D455][python]How to get color_stream\depth_steam\accel_stream\gyro_stream a ...
- 【图像处理】双三次插值(Bicubic interpolation)原理及matlab简易版代码
先简单写下. 双线性插值:缩放后图像矩阵(简称TI)像素坐标映射到原图像矩阵(简称OI)中得坐标点P(x,y),P点临近四个坐标点像素值的线性加权求和即P点像素值. "双"指的图像 ...
- linux pipe 命名管道,linux 进程学习笔记-named pipe (FIFO)命名管道
与"无名管道"不同的是,FIFO拥有一个名称来标志它,所谓的名称实际上就是一个路径,比如"/tmp/my_fifo",其对应到磁盘上的一个管道文件,如果我们用f ...
- Pipe Utilization管道利用率
Pipe Utilization管道利用率 概述 CUDA设备的每个流式多处理器(SM)都具有许多专门用于执行特定任务的硬件单元.在芯片级,这些单元提供执行管道,翘曲调度程序将指令发送到这些管道.例如 ...
- DCMTK:OFStandard类中的ASCII /双转换方法的测试代码
DCMTK:OFStandard类中的ASCII /双转换方法的测试代码 OFStandard类中的ASCII /双转换方法的测试代码 OFStandard类中的ASCII /双转换方法的测试代码 # ...
- html双箭头菜单,CSS常用样式之绘制双箭头的示例代码
一.多次调用单箭头 实现了单箭头–就很容易实现双箭头了,上文已经介绍2种实现单箭头的原理: 边框旋转方式.双三角覆盖方式.这次以边框旋转为例多次调用实现双箭头. 1.边框旋转单箭头实现 .arrow- ...
- 【AQI计算器】简易实现代码
分享代码前,先作几点说明: 1.关于污染物浓度数据有效性的判断 对于整数,采用isdecimal()方法判断:对于小数(仅一氧化碳),采用split('.')方法将字符串拆成两部分判断. 2.关于IA ...
- Shell入门(六)之Shell pipe(管道)
Shell入门(六)之Shell pipe(管道) Shell pipe(管道)命令 pipe(管道)命令使用|界定符号. pipe管道命令|,仅能处理经由前面一个指令传来的信息,也就是标准输出(st ...
最新文章
- ORM 框架中SQLALCHEMY一点点个人总结
- 助力航天元器件管理“高可靠降成本”,赛思库获数千万元Pre-A轮融资
- Appium+python自动化8-Appium Python API
- w8计算机配置要求,win8配置要求 详细介绍
- vc编译 matlab,精通VC与MATLAB联合编程——编译器的使用
- LINUX用iptable完成端口映射
- DataGrid导出Excel
- BZOJ3457 : Ring
- 关于ROS的设置问题
- html打印文字不显示图片,word打印预览时候没问题但是打印出来时候有些文字却不显示...
- Android 关于ApplicationInfo flags快速了解
- ffmpeg常用操作 - 录屏 - 转码
- Tilera推用于云计算的多核处理器Meshed
- five86-1靶机渗透攻略
- JeecgBoot腾讯云部署发布小结
- 雅虎微软合作对手机搜索领域的影响
- 微信小程序--------商品物流跟踪模板
- 一些软件的安装(cherrytree,mplayer,flash插件)
- 使用canvas制作绘图板
- (WSL) Linux显示自己的系统logo ---- screenfetch
热门文章
- will_paginate 用作查询分页的注意事项
- 老男孩教育每日一题-2017年4月28日- MySQL主从复制常见故障及解决方法?
- java小练习:.根据输入的月份,判断该月份有多少天
- 详解Makefile 函数的语法与使用
- RHCS图形界面建立GFS共享上
- 解决MySQL命令行无法连接问题错误ERROR1045(28000)
- linux fcitx启动 窗口,Linux系统Fcitx中文输入法开机启动方法
- 计算机二级执行程序,计算机二级VFP程序文件的建立与执行
- 微信小程序打开红包的css_山海经攻略(微信小程序现金红包提现游戏)
- mysql的windows安装步骤_window mysql安装详细步骤