linux_FIFO命名管道-mkfifo函数-进程通信
接上一篇: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函数-进程通信相关推荐
- 有名管道----mkfifo函数的使用
有名管道----mkfifo函数的使用 有名管道 mkfifo函数介绍 mkfifo函数使用 有名管道 有名管道可以在任意两个进程之间通信,而无名管道只能在父子进程之间进行通信.此外,有名管道可以 ...
- linux 命名管道 mkfifo
专栏内容:linux下并发编程 个人主页:我的主页 座右铭:天行健,君子以自强不息:地势坤,君子以厚德载物. 目录 前言 概述 原理介绍 接口说明 代码演示 结尾 前言 本专栏主要分享linux下并发 ...
- linux php mkfifo,Linux进程间通信(四):命名管道 mkfifo()、open()、read()、close() - 52php - 博客园...
在前一篇文章-- Linux进程间通信 -- 使用匿名管道 中,我们看到了如何使用匿名管道来在进程之间传递数据,同时也看到了这个方式的一个缺陷,就是这些进程都由一个共同的祖先进程启动,这给我们在不 ...
- linux学习---linux基于文件的IPC(匿名管道pipe,命名管道mkfifo,普通文件,socket文件)
常用的IPC分为两个类别,一是基于文件,而是基于内存 基于文件的分别有匿名管道,有名管道,普通的文件共享,socket文件 基于内存的有普通内存共享(本文章没有介绍),共享内存,共享信号量,消息队列 ...
- linux命名管道进程间通信,Linux进程间通讯--命名管道
IPC安全 前面总结了匿名管道,如今来看命名管道:因为匿名管道的一个限制就是:只能是有血缘关系的进程间才能够通讯,好比:有两个同祖先的子进程,父子进程等:为了突破这一个限制,想让没有任何关系的两个进程 ...
- php管道邮件,php进程通信-PIPE管道通信
上一篇文章讲到了php进程通信的进程信号通信方法,本文介绍的是有名管道: 管道通信,主要是利用文件,写入以及读取来进行通信的, 通俗来讲,就是A进程在1.txt写入1,B进程读取1.txt,就能读取到 ...
- linux c之通过管道实现兄弟间进程通信:
1.兄弟间进程通信: 父进程创建管道,并使用fork函数创建2个进程,在第一个子进程发消息到第二个子进程,第2个子进程读取消息并处理,在父进程中不使用管道通信,所以什么都不做,直接关闭管道两端并退出 ...
- 有名管道----mkfifo函数总结
1. mkfifo 用来创建管道文件文件的节点,并没有在内核中创建管道,只有通过open函数打开这个文件时才会在内核空间创建管道. 2.mkfifo 函数形式:int mkfifo(const cha ...
- 进程间通信(5) 命名管道2 不同机器通信
不同机器的通信我一直没解决,现记录下来,以后再看,也欢迎指点! 看资料说是先connectipc一下. 结果我connectIpc错误. 执行cmd命令"net use \192.168.2 ...
最新文章
- keyshot材质中文目录_KeyShot10 Pro for Ma 苹果3D渲染动画制作软件 中文版下载
- Android Studio 项目代码全部消失--出现原因及解决方法
- 【Numpy】学习笔记1
- 静态内存、动态内存与堆栈
- NET问答: 如何从 event 中移除所有的 handler ?
- phpcmsV9 用seotitle后面的小横杠分隔符自定义
- Spring Boot 知识笔记(集成zookeeper)
- android libyuv库的使用
- 如何利用计算机画立体几何图形,[转载]谈谈用Word2003画立体几何图形的技巧
- 解决ERROR:Local variable count defined in an enclosing scope must be final or effectively final
- Word2019表格文字一直无法上下对齐的解法
- 踩点上下班被HR约谈,网友:按时上下班,天经地义
- 按ctrl+z把文件弄丢了怎么办?ctrl加z文件消失怎么恢复!
- Sentaurus命令注释
- 潍坊学院计算机考研,潍坊学院考研经验
- 是谁在为加速网络智能化落地打造开放、融合、端到端平台?
- hive 修改表结构
- Oracle DG主备切换VIP
- 三相交流电源稳压器是什么?三相稳压器连接方式
- TPM分析笔记(十一)TPM 密钥组织架构(TPM Key Hierarchy)
热门文章
- 怎么把图片拼接成长图,3招教你快速处理
- printf(\033[1;33m Hello World. \033[0m \n);有趣的串口之超级终端的玩法
- 离散数学 求命题公式的主析取范式和主合取范式
- 后缀是lnk是什么文件_后缀是lnk文件怎么打开,lnk什么格式
- 第三方登录之Github登录篇
- html5 在线字体库,网络字体@font-face,如何处理网页中的特殊字体?
- dwz系列之三--分页
- 12. linux系统管理(1)
- 使用nexus搭建maven私服教程详解
- java先进先出 循环队列_java队列--先进先出(循环队列、链队列)