linuxfifo命令 linuxfind命令使用方法( 二 )


100 prwxrwxrwx 1 root root 0 Jan 1 1970。/fifo_file|
sh-3.2#
正因为它有一个名字,所以任何进程都可以访问它,所以FIFO可用于任意两个进程之间的通信 。
pipe没有名字,在现有文件系统中无法查看到它的存在 。
它只能用于父子进程、兄弟进程等具有血缘关系的进程间通信 。
创建FIFO的方法如下:
1. 调用umask系统调用来设定创建文件的权限,
#include 《sys/types.h》
#include 《sys/stat/h》
mode_t umask(mode_t mask);
2. 调用unlink系统调用先删除已经存在的fifo,
#include 《unistd.h》
int unlink(const char *pathname);
3. 调用mkfifo库函数去创建一个FIFO文件
linux里面文件的文件的st-mode,里面的fifo是什么东西?文件里面的fifo是什么东西?在st_mode的特征位定义里有:
S_IFIFO0010000//先进先出(fifo)
fifo是管道文件,分为分为无名管道和有名管道 。
无名管道例如:ls-l | grep name使用管道可将一个命令的输出作为另一个命令的输入 。命令执行时,无名管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统 , 而是单独构成一种文件系统,并且只存在于内存中 。无名管道是临时的,执行完成后会自动消失 。由于没有名字,无名管道只能用于亲缘关系的进程间通信.
有名管道即FIFO,在文件系统中有自己文件名路径名,这样即使两个不相关(没有亲缘关系)的进程,只要可以访问该路径,就能够彼此通过创建FIFO相互(经常性的而非临时的)通信 。有名管道的名字存在于文件系统中,但内容还是存放在内存中 。
S_IFIFO 即表示有名管道文件 。具体介绍和应用,还请翻阅“进程间通信--管道”的相关内容 。
【linuxfifo命令 linuxfind命令使用方法】linuxfifo命令的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于linuxfind命令使用方法、linuxfifo命令的信息别忘了在本站进行查找喔 。

推荐阅读