位置: 编程技术 - 正文

Linux管道通信C语言编程示例(linux 管道实现)

发布时间:2024-02-27

推荐整理分享Linux管道通信C语言编程示例(linux 管道实现),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux 管道实现,linux中管道的用法,linux管道的实现原理,linux中管道的作用,linux管道的实现原理,linux管道编程,linux c管道,linux管道编程,内容如对您有帮助,希望把文章链接给更多的朋友!

一、定义

管道是单向的、先进先出的。它将一个程序的输入和另一个程序的输出连接起来。数据被一个进程读出后,将被从管道中删除。分为无名和有名管道两种。前者用于父进程和子进程间的通信,后者用于同一系统的两个进程间通信。 二、无名管道

Linux管道通信C语言编程示例(linux 管道实现)

复制代码代码如下: int pipe(int fd[2]); 其中,fd[0]用于读管道,fd[1]用于写管道。若成功则返回零,否则返回-1,错误原因存于errno中。

三、有名管道:FIFO

复制代码代码如下: int mkfifo(const char* pathname,mode_t mode)open时使用O_NONBLOCK,访问要求无法满足则立即出错返回。erron是ENXIO。 例子:复制代码代码如下:fread.c //读文件</p><p>#include<errno.h>#include<memory.h>#define FIFO "myfifo" main(){ int fd; char buff[]; if(access(FIFO,F_OK) == -1){ mkfifo(FIFO,); } fd=open(FIFO,O_RDONLY|O_NONBLOCK); //设置非阻塞打开,否则当没有输入时,会阻塞在read函数 </p><p> int num; while(1){ memset(buff,'',); //如不清空最后的字符会出现乱码 if((num=read(fd,buff,))==0){ printf("waiting.....n"); sleep(1); continue; } printf("read %d in fifo , it's %s",num,buff); sleep(1); }}</p><p>fwrite.c //写文件</p><p> </p><p>#include<stdio.h>#include<fcntl.h>#include<memory.h>#define FIFO "myfifo"main(){ int fd; char buff[]; memset(buff,'',); scanf("%s",buff); if(access(FIFO,F_OK) == -1){ mkfifo(FIFO,); } fd=open(FIFO,O_WRONLY); int num; num=write(fd,buff,strlen(buff)); printf("%d char is written! It's %sn",num,buff);}4、管道关闭:用close()关闭相应的文件描述符即可。

Linux共享内存编程示例 一、概念共享内存是被多个进程共享的一部分物理内存,是进程间共享数据的最快的一种方法。二、实现分为两个步骤:1、创建共享内存。2、映射共享

Linux 多线程编程实例 一、多线程VS多进程和进程相比,线程有很多优势。在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护代码段和

Linux消息队列编程示例 一、概念消息队列就是一个消息的链表。可以把消息看作一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向中按照一定

标签: linux 管道实现

本文链接地址:https://www.jiuchutong.com/biancheng/364794.html 转载请保留说明!

上一篇:Linux补丁工具patch生成使用补丁用法示例(linux补丁工具)

下一篇:Linux共享内存编程示例(linux共享内存同步机制)

  • 私车公用如何避税
  • 中税税务咨询
  • 增值税纳税义务确认时间
  • 奖金算不算工资薪金所得
  • 建设部门罚款会计分录
  • 专票红冲要不要收回发票联
  • 会计凭证审核的主要内容
  • 测绘费发票需要备注么
  • 外贸公司报关员是干什么的
  • 印花税票吧
  • ktv发票可以入账吗
  • 应收款项出售的分录怎么处理
  • 劳务派遣人员工作单位怎么写
  • 企业所得税的利润总额是利润表中的哪个数
  • 小规模纳税检查怎么做
  • 无名称发票可以抵扣吗
  • 企业库存现金的限额是由( )核定的
  • 个人房产租金收入如何纳税申报
  • 当月商品已出库货款未收到怎么做分录?
  • 润滑油经销需要什么资质
  • 软件开发服务费税率
  • 企业所得税减半征收计算公式
  • 税负几个点
  • 为什么有些单位一直在招聘
  • 合同中补充协议
  • 一般纳税人能否享受残保金优惠
  • 环境保护税的计算例题
  • 财务费用中的利息收入指什么
  • 异地预缴企业所得税会计分录
  • 未抵扣进项税额可以退税吗
  • 考勤扣款怎么算
  • 可转换债券具有债权和股权双重特征
  • 固定资产丢失进项税需要转出吗
  • 卖废旧物品账务处理
  • php类和对象写法
  • 社保会计科目怎么做账
  • linux使用范围
  • 图书装订的工作容易吗
  • 预付款指的是
  • 最小的固态硬盘多大尺寸
  • 混合成本的分解方法很多,通常有
  • 提前支付的费用记账
  • 如何开增值税专用发票步骤图解
  • 核心书评价格
  • discuzcms
  • 购买仪器属于什么费用
  • 丢失增值税发票已报税证明单取消
  • 电子承兑被退回要重新背书怎么办
  • 教你如何看懂标签
  • 公司向员工发放的慰问金怎么做账
  • 其他应付款的辅助科目是什么
  • 企业征收所得税会计分录
  • 租赁合同印花税怎么算
  • 产品检测费计入什么二级科目里
  • 企业停产期间在生产违法吗
  • 企业实缴各类税金的总额
  • 土地发票可以抵扣吗
  • 记账凭证如何填写明细科目
  • 成本会计工作主要内容
  • win8的系统
  • mac打不开以下磁盘映像
  • win7系统启动不起来什么原因
  • win8磁盘分区合并
  • win10账户登录闪退
  • win10系统无法运行海岛大亨5
  • windows2008输入法
  • cocos2dx schedule
  • linux 常用命令大全及其详解
  • kui血条插件设置
  • nodejs截图
  • 如何检查自己是否抑郁
  • js怎么检查错误