接上一篇:linux_管道学习-pipe函数-管道的读写-fpathconf函数

本次来分享FIFO命名管道,一些常识,开始上菜:

1.FIFO-mkfifo函数

  FIFO常被称为命名管道,以区分管道(pipe)。管道(pipe)只能用于“有血缘关系”的进程间。但通过FIFO,不相关的进程也能交换数据,也就是无血缘间的进程进行通信。
函数作用:
  用来创建一个文件。
头文件:
  #include <sys/types.h>
  #include <sys/stat.h>
函数原型:
  int mkfifo(const char *pathname, mode_t mode);
函数参数:
  pathname:文件名
  mode:文件权限
返回值:
  成功返回0;
  出错返回-1。
例如:
//注意创建管道文件需要一方掌握读端,一方掌握写端,才能正常读写
int ret=mkfifo(PATH,0666); //创建管道文件
if(ret==-1)
{
perror(“mkfifo”);
return 1;
}

  一旦使用mkfifo创建了一个FIFO,就可以使用open打开它,常见的文件I/O函数都可用于fifo。如:close、read、write、unlink等。

以上就是本次的分享了,希望对广大网友有用。

此博主在CSDN发布的文章目录:【我的CSDN目录,作为博主在CSDN上发布的文章类型导读】

linux_FIFO命名管道-mkfifo函数-进程通信相关推荐

  1. 有名管道----mkfifo函数的使用

    有名管道----mkfifo函数的使用 有名管道 mkfifo函数介绍 mkfifo函数使用 有名管道   有名管道可以在任意两个进程之间通信,而无名管道只能在父子进程之间进行通信.此外,有名管道可以 ...

  2. linux 命名管道 mkfifo

    专栏内容:linux下并发编程 个人主页:我的主页 座右铭:天行健,君子以自强不息:地势坤,君子以厚德载物. 目录 前言 概述 原理介绍 接口说明 代码演示 结尾 前言 本专栏主要分享linux下并发 ...

  3. linux php mkfifo,Linux进程间通信(四):命名管道 mkfifo()、open()、read()、close() - 52php - 博客园...

    在前一篇文章--  Linux进程间通信 -- 使用匿名管道  中,我们看到了如何使用匿名管道来在进程之间传递数据,同时也看到了这个方式的一个缺陷,就是这些进程都由一个共同的祖先进程启动,这给我们在不 ...

  4. linux学习---linux基于文件的IPC(匿名管道pipe,命名管道mkfifo,普通文件,socket文件)

    常用的IPC分为两个类别,一是基于文件,而是基于内存 基于文件的分别有匿名管道,有名管道,普通的文件共享,socket文件 基于内存的有普通内存共享(本文章没有介绍),共享内存,共享信号量,消息队列 ...

  5. linux命名管道进程间通信,Linux进程间通讯--命名管道

    IPC安全 前面总结了匿名管道,如今来看命名管道:因为匿名管道的一个限制就是:只能是有血缘关系的进程间才能够通讯,好比:有两个同祖先的子进程,父子进程等:为了突破这一个限制,想让没有任何关系的两个进程 ...

  6. php管道邮件,php进程通信-PIPE管道通信

    上一篇文章讲到了php进程通信的进程信号通信方法,本文介绍的是有名管道: 管道通信,主要是利用文件,写入以及读取来进行通信的, 通俗来讲,就是A进程在1.txt写入1,B进程读取1.txt,就能读取到 ...

  7. linux c之通过管道实现兄弟间进程通信:

    1.兄弟间进程通信: 父进程创建管道,并使用fork函数创建2个进程,在第一个子进程发消息到第二个子进程,第2个子进程读取消息并处理,在父进程中不使用管道通信,所以什么都不做,直接关闭管道两端并退出 ...

  8. 有名管道----mkfifo函数总结

    1. mkfifo 用来创建管道文件文件的节点,并没有在内核中创建管道,只有通过open函数打开这个文件时才会在内核空间创建管道. 2.mkfifo 函数形式:int mkfifo(const cha ...

  9. 进程间通信(5) 命名管道2 不同机器通信

    不同机器的通信我一直没解决,现记录下来,以后再看,也欢迎指点! 看资料说是先connectipc一下. 结果我connectIpc错误. 执行cmd命令"net use \192.168.2 ...

最新文章

  1. keyshot材质中文目录_KeyShot10 Pro for Ma 苹果3D渲染动画制作软件 中文版下载
  2. Android Studio 项目代码全部消失--出现原因及解决方法
  3. 【Numpy】学习笔记1
  4. 静态内存、动态内存与堆栈
  5. NET问答: 如何从 event 中移除所有的 handler ?
  6. phpcmsV9 用seotitle后面的小横杠分隔符自定义
  7. Spring Boot 知识笔记(集成zookeeper)
  8. android libyuv库的使用
  9. 如何利用计算机画立体几何图形,[转载]谈谈用Word2003画立体几何图形的技巧
  10. 解决ERROR:Local variable count defined in an enclosing scope must be final or effectively final
  11. Word2019表格文字一直无法上下对齐的解法
  12. 踩点上下班被HR约谈,网友:按时上下班,天经地义
  13. 按ctrl+z把文件弄丢了怎么办?ctrl加z文件消失怎么恢复!
  14. Sentaurus命令注释
  15. 潍坊学院计算机考研,潍坊学院考研经验
  16. 是谁在为加速网络智能化落地打造开放、融合、端到端平台?
  17. hive 修改表结构
  18. Oracle DG主备切换VIP
  19. 三相交流电源稳压器是什么?三相稳压器连接方式
  20. TPM分析笔记(十一)TPM 密钥组织架构(TPM Key Hierarchy)

热门文章

  1. 怎么把图片拼接成长图,3招教你快速处理
  2. printf(\033[1;33m Hello World. \033[0m \n);有趣的串口之超级终端的玩法
  3. 离散数学 求命题公式的主析取范式和主合取范式
  4. 后缀是lnk是什么文件_后缀是lnk文件怎么打开,lnk什么格式
  5. 第三方登录之Github登录篇
  6. html5 在线字体库,网络字体@font-face,如何处理网页中的特殊字体?
  7. dwz系列之三--分页
  8. 12. linux系统管理(1)
  9. 使用nexus搭建maven私服教程详解
  10. java先进先出 循环队列_java队列--先进先出(循环队列、链队列)