linux创建FIFO文件类型的方法

FIFO管道是一种文件类型。在Linux上创建FIFO非常容易。接下来,小编将详细介绍创建和使用FIFO管道,感兴趣的朋友可以看看它。





FIFO管是一种文件类型,在linux中创建FIFO很容易,管道的FIFO文件固有的特性,但是管道与管道之间有一些差异,下面对FIFO管道的创建和使用做了详细的介绍,使大家有一个详细的了解。


先进先出,也被称为命名管道,是一个在Linux系统中的进程间通信方法。

先进先出法与管道法的区别在于:

FIFO有文件系统中的相应节点,通过它可以查看命令ls。

sh-3.2 # ls / fifo_file LHF。

100 prwxrwxrwx 1根0 Jan 11970。 / fifo_file |

sh-3.2 #

因为它有一个名称,所以可以通过任何进程访问它,因此FIFO可以用于任何两个进程之间的通信。

在现有的文件系统中,管道没有名字,也看不到它的存在。

它只能用于具有血缘关系的进程间通信,如父子进程,兄弟会的过程。

创建FIFO的方法如下:

1。系统调用umask设置创建文件的权限,

#包括系统 /类型。H

#包括系统 / / 属性

mode_t umask(mode_t面具);

2。函数的系统调用是先删除现有的先进先出,

#包括unistd。H

int unlink(const char*的路径);

三.调用mkfifo函数库来创建一个FIFO文件,

#包括系统 /类型。H

#包括系统 / stat.h

Int mkfifo(const char*的路径名,mode_t模式);

或者你可以通过调用mknod系统调用指定的参数模式s_ififo创建一个FIFO文件,

#包括系统 /类型。H

#包括系统 / stat.h

#包括fcntl。H

#包括unistd。H

Int mknod(const char*的路径名,mode_t模式,dev_t DEV);

注:

1。使用FIFO进行通信,每个传输的数据应限于pipe_buf。

2。对FIFO的访问就像访问一个常规文件(普通文件)一样,可以通过系统调用来访问,比如打开/关闭。

先进先出法的应用:

1。简单的生产者/消费者问题,一个读取数据的过程,一个写数据的过程;

2。为了实现客户机/服务器体系结构程序,客户端和服务器端通过FIFO通信。

以上就是linux下创建FIFO管道的方法。除了介绍FIFO管道的创建,还介绍了FIFO的使用和注意事项。