热度 19
2015-3-7 17:26
953 次阅读|
0 个评论
有名管道:又称为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; }