问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

fifo和pipe有什么区别

发布网友 发布时间:2022-04-21 21:58

我来回答

2个回答

懂视网 时间:2022-04-22 02:20

热心网友 时间:2022-04-21 23:28

linux中的pipe和fifo的区别
在linux进程间通信(IPC)可以通过信号量、文件系统、消息队列、共享内存还有管道来实现的。其中消息队列、内存管理是在System V中提出的。
进程通信间涉及到了管道,而且管道在shell命令中也大有用处。那就简要说说管道:
管道顾名思义,你可以将其理解为日常生活中的管子,一边流入,一边流出。它可以有半双工和全双工。半双工就是只能一边流入,另一边流出;全双工则是一边可以流入,也可以流出。
pipe就是一种半双工的管道。其中,fd[1] 用来向管道中写入数据,而fd[0]在另一端用来读出数据。如果现有两个进程要利用pipe进行通信。此时,就要保证只能有一个写入端和一个读出端,即:fd[1]和fd[0]只能有一个。
如下程序:
/*实现子进程向管道中写入数据,父进程读出数据*/

#include<unistd.h>
#include<sys/types.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
pid_t childpid;
int fd[2],nbytes;
char string[]="data from child process\n";
char buf[100];

if(pipe(fd)<0)
{
perror("pipe");
exit(1);
}
if((childpid=fork())==-1)
{
perror("fork");
exit(1);
}
if(childpid==0)
{
close(fd[0]);
printf("childpid =%2d\n",getpid());
write(fd[1],string,strlen(string));
exit(0);
}
else
{
close(fd[1]);
printf("parentpid =%2d\n",getppid());
nbytes=read(fd[0],buf,sizeof(buf));
printf("Received string:%s\n",buf);
}
return 0;
}
下面来说道fifo:
fifo是一种全双工,即:它的一端既可以进行读取fd[0],也可以进行写入fd[1]。
正因为它的这种通信方式,使其可以用来涉及基于C/S模式的网络通信。具体做法:
首先让服务器产生一个服务器端的FIFO,然后让各个客户端产生以其PID为名称的客户端的FIFO,在客户于服务器进行通信时,客户端向服务器端发送自己的PID,以使服务器对客户的请求进行响应时,向其客户端的FIFO写入响应信息。代码实现客户端和服务器进行各自的名称和PID交换。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
挖矿笔记本电脑一般什么配置 ...全五分截图就可以返现两元,可是我截图了发了好评,他们就问我支付宝... 桂林数之城澜庭值得买吗? 华联都市澜庭可以买吗 云荟澜庭可以买吗 海和澜庭值得买吗 澜庭雅致能买吗 仿"瞧"写四个与"看"有关的词 用目旁表示眼的器官的字有那些 用瞅,瞧,盯,瞪,眺,瞥填空。你不要一直怎么着我,我又没做错事 包头市锦尚物业服务有限公司怎么样? 包头市春天物业服务有限公司怎么样? 包头市西格美烨物业服务有限公司怎么样? 包头市人博物业服务有限责任公司怎么样? 家里铺的是那种比较厚的地毯,可是现在松动了,想问什么胶水能够粘住? 我的微信群发红包没发200就限额了但是可以私发是怎么回事啊,求解决 两人私发微信红包,比如本人发出去,对方领了,聊天记录上有记载,对 java输入数字和符号,输出符号塔 java中如何只获取数字和符号 老板私发的微信红包,该不该收? 如何用pipe实现popen函数的功能 oppoa73这个机子怎么样 华为畅享7s刷机包无账户锁 艹头一个岁字是什么意思,怎么读 不治行检中“行” 怎么读,什么意思 “つぁんさい”是不是“参赛”的意思? “婚莚”的“莚”读音是第几声? 蔓蒙的意思是什么 请告诉我这些单词的中文意思,谢谢. 莚在汉语字寅里什么意思 我的学校作文400-500字 上海市银行校园招聘考试,笔试面试哪家的通过率高? 别人祝你愚人节快乐什么意思? 愚人节那天,他对我说喜欢我,并说愚人节快乐。什么意思 愚人节向男生告白 男生回复愚人节快乐是什么意思? 翻译一下,要准确的, 华为荣耀9怎样root 有什么平台的手游视频多,直播,大神攻略多的。重要的事情说三遍:手游!手游!手游! 描写山路崎岖不平的句子 形容“山路很难走”的好词好句有哪些? 山路难走怎么扩句 形容山路难走的句子 文采好的朋友们进来帮下忙吧· 描写山路的句子 描写“挂壁公路危险”的优美的句子有哪些? 形容山路难走 杂草众多 语句 形容山路的句子 速求描写山路陡峭的词语 前提是最好没有“路”字 我要写的那句话是: 一路上,…… 蜀道难中写山路迂回的句子 四川一带的山路非常难走走这样的道路比登天还难根据这句话写出恰当的谚语和古 形容山路弯曲的句子