第12课-有名管道通讯

时间:2021-12-19 17:00:17

1.有名管道:又称为FIFO文件。
2.man命令:1.系统命令,2.系统调用,3库函数
3.函数学习
5.2 创建有名管道
5.2.1 函数名
mkfifo
5.2.2 函数原形
int mkfifo(const char *pathname, mode_t mode);
5.2.3 函数功能
创建一个fifo文件(有名管道)
5.2.4 所属头文件
<sys/types.h>
<sys/stat.h>
5.2.5 返回值
成功:0
失败:-1
5.2.6 参数说明
Pathname:要创建的fifo文件的名字(含路径)
Mode:访问权限,数字形式表示就可以(0666)


5.3 删除有名管道5.3.1 函数名
Unlink5.3.2 函数原形
int unlink(const char *pathname);5.3.3 函数功能
删除文件5.3.4 所属头文件
<unistd.h>5.3.5 返回值
成功:0失败:-1
5.3.6 参数说明Pathname:用来指明要删除的文件名(含路径)

4.FIFO文件和普通文件的区别
(1)写入的时候是只能只写打开(2)读取的时候是只读打开
(3)读取以后内容不再存在

其他的操作就用普通文件的操作。5.综合实例
(1)写文件进程---》创建FIFO
---》打开并写入---》关闭
(2)读文件进程---》读取文件
---》打印---》关闭
---》删除有名管道


6.如果没有读进程访问FIFO,则写进程会被阻塞,直到有进程访问该FIFO,才会结束写进程。