函数形式:int mkfifo(const char \*filename,mode_t mode);
功能:创建管道文件
参数:管道文件文件名,权限,创建的文件权限仍然和
umask
有关系。
返回值:创建成功返回
0
,创建失败返回
-1
。
1.
特点
有名管道
在磁盘上有这样一个文件
ls -l ->p
也是一个伪文件,在磁盘大小永久为
0
数据存在内核中有一个对应的缓冲区
半双工通信方式
2.
使用场景
没有血缘关系的进程间通信
3.
创建方式
命令:
mkfifo
管道名
函数:
mkfifo
4.fifo
文件可以使用
io
函数进程操作
open/close
read/write
不能执行
lseek
操作
创建有名管道
#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
int main()
{
int ret;
ret=mkfifo("/mkfifo",0755);
if(ret==-1)
{
return -1;
}
else
printf("create fifo success\n");
return 0;
}
~