linux应用开发-有名管道编程

linux应用开发-有名管道编程
一 有名管道

用于任意两个进程通信,有名管道又称为FIFO文件,因此我们对有名管

道的操作可以采用操作文件的方法,如使用open,read,write等.

2 特点

FIFO文件在使用上和普通文件有相似之处,但是也有不同之处:

1. 读取Fifo文件的进程只能以”RDONLY”方式打开fifo文件。

2. 写Fifo文件的进程只能以”WRONLY”方式打开fifo

3. Fifo文件里面的内容被读取后,就消失了。但是普通文件里面的内容读取后还存在。

3 相关函数

创建有名管道

函数名

mkfifo

函数原形

int mkfifo(const char *pathname, mode_t mode)

函数功能

创建一个fifo文件或者一个有名管道

所属头文件

#include <sys/types.h>

#include <sys/stat.h>

返回值

成功返回0

失败返回-1

参数说明

pathname:要创建的fifo文件的名字带路径的

mode:创建的fifo文件的访问权限






删除有名管道

函数名

unlink

函数原形

int unlink(const char *pathname) 

函数功能

删除文件包括fifo文件

所属头文件

#include <unistd.h>

返回值

成功返回 0

失败返回-1

参数说明

pathname是包含路径的文件的名字


一个小案例
技术分享
技术分享

技术分享
阻塞状态
技术分享

解除阻塞了


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。