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是包含路径的文件的名字
一个小案例
阻塞状态
解除阻塞了
时间: 2024-10-24 05:01:35