有名管道:又称为FIFO文件,因此我们对有名管道的操作可以采用操作文件的方法,如使用open,read,write等。
FIFO文件对比普通文件:
-
读取FIFO文件的进程只能以“RDONLY”方式打开FIFO文件
-
写FIFO文件的进程只能以“WRONLY”方式打开FIFO文件
-
FIFO文件里面的内容被读取后,就消失了。但是普通文件里的内容还存在。
5.2 创建有名管道
5.2.1 函数名 mkfifo
5.2.2 函数原形 int mkfifo(const char *pathname, mode_t mode);
5.2.3 函数功能 创建有名管道
5.2.4 所属头文件
5.2.5 返回值 成功:返回0 失败:返回-1
5.2.6 参数说明 pathname:要创建的fifo文件的名字(带路径)
mode:创建的fifo文件的访问权限
5.3 删除有名管道
5.3.1 函数名 unlink
5.3.2 函数原形 int unlink(const char *pathname);
5.3.3 函数功能 关闭有名管道
5.3.4 所属头文件
5.3.5 返回值 成功:返回0 失败:返回-1
5.3.6 参数说明 pathname:要关闭的fifo文件的名字(含路径)
小实验:
写#include
#include
#include
#include
#include
int main()
{
int fd;
mkfifo("/home/fifo", 777);
fd = open("/home/fifo", O_WRONLY);
write(fd, "Hello FIFO!", 12);
printf("This is write process!\n");
close(fd);
return 0;
}
文章评论(0条评论)
登录后参与讨论