当前位置: 首页 > web >正文

linux命名管道的使用

linux系统中管道有两种,一种是匿名管道,只能在有血缘关系的进程间使用。一种是命名管道。可以使用在没有血缘关系进程之间。比如两个程序,一个负责向管道写入数据,另外一个负责读出数据。
试验非常方便,
负责读的程序 fifo_r.c

#include <fcntl.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>int main() {int count = 0;const char *path =  "./fifo_file";int fd = open(path, O_RDONLY);   char buf[128]={0};for( count = 0; count < 10; count++){memset( buf, 0, sizeof(buf) );ssize_t n = read(fd, buf, sizeof(buf));printf("read:%s\n", buf); }close(fd);return 0;
}

负责写的程序 fifo_w.c.

#include <fcntl.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>int main() {int count = 0;const char *path = "./fifo_file";char *str = "hello world camel";mkfifo(path, 0666);               int fd = open(path, O_WRONLY);for( count = 0; count < 10; count++){    write( fd, str, strlen(str) );usleep(50);}close(fd);return 0;
}

在这里插入图片描述
在这里插入图片描述

fifo_w.c向管道写入"hello world camel",   fifo_r.c从管道读出"hello world camel",写入十次,读出十次。
http://www.xdnf.cn/news/20057.html

相关文章:

  • MobileCLIP2:优化多模态强化训练,实现低延迟下的图像文本模型性能突破
  • 弧焊工业机器人保护气节约的关键
  • 中文逆文本标准化 (ITN) 标注规范
  • Jmeter怎么实现接口关联?
  • 移动代理:操作原则、优势、私人使用变体的选择
  • 10 分钟掌握 Selenium 8 大元素定位法:从踩坑到精通
  • 华勤内推码
  • Alpha World赞助Hello Blockchain Thailand,AWT成为全球共识焦点
  • 联想开天X7:携手海光,开启信创PC高性能新时代
  • dvs dvfs avs avfs 低功耗技术的区别
  • uni-app与Vue3,实现3D圆柱形旋转画廊效果
  • 零基础学C++,自定义数据类型
  • 【冷知识】【Xshell 8密码解密】2025年8月19日
  • MySQL中的聚合函数与分组查询
  • SpringAI Alibaba Graph 流式对话
  • Nginx简介
  • SPI通讯协议
  • LightDock:高效蛋白质-DNA对接框架
  • 从数据孤岛到智能中枢:RAG与智能体协同架构如何重塑企业知识库
  • 代码随想录算法训练营第一天 | (二分查找类型)704.二分查找 35.探索插入位置 34.在排序数组中查找元素的第一个和最后一个位置
  • 涨粉14万,100个Coze智能体工作流模版案例:3分钟生成韩非子权谋爆款视频
  • 【C++】在 Windows 系统调用第三方程序(创建进程)
  • 专项智能练习(Photoshop软件基础)
  • mysql高级进阶(存储过程)
  • H3C UIS Cell 3020 G3服务器更换raid卡安装ONEStor记录
  • windows系统服务器测试部署springboot+vue+mysql项目
  • 企业网络安全建设三阶段实战指南
  • 商家自动运营(四)足浴店管理—东方仙盟
  • 一文掌握Redisson分布式锁
  • 【Rhino】【Python】将开放曲面转换为边界线和填充