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

来源:互联网 发布:mac暗影格斗2无限钻石 编辑:程序博客网 时间:2024/04/29 14:27
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是包含路径的文件的名字


一个小案例




阻塞状态


解除阻塞了


0 0
原创粉丝点击