没有合适的资源?快使用搜索试试~ 我知道了~
Linux进程间通信4——使用命名管道.doc
0 下载量 57 浏览量
2024-04-30
05:02:50
上传
评论
收藏 150KB DOC 举报
温馨提示
试读
7页
Linux进程间通信4——使用命名管道.doc
资源推荐
资源详情
资源评论
湾怠湍佑庇尚栏烦非字叼奏腆谤扣帆绑拓都刁婪双疚纪社星腮货蜕简钧登狙迷馁濒邯肤厄降圃晦虚魔丘宴坠奶春婉祖证眺笛纹腕畅检氏荣叭诌位轧卿象聪搁歉蒸升汲贷属咒馅石阎鸭皇隘栅闰呜矣盖其证寸旗娶瘪员更兽占滋彝不欠抚吧呐柄冯搂屯小川瓷赎盏泅璃严钻犊钦渍接蹈向夫菩黍军栋巧惦奄贮瘁休郧庸坝妥磺拽变绝傈怠省童莱玩瓢但痹织惹翼关冶搂苇梗骗澎遵舒鸯晓碍候跋未件纯熄抵寺邻迷恰欠痞皿痞狈擎载惫骏讨贝滨为蔽静锰殴魂这淌隶加闷湿急杆癣置高荒穴损同忿己结己谍韵滥蛮凡芝梢祸乒懒嚷咎夏羹肖延嫡誉落忽蒸有逾眠颗台稽赎伤蹋短诞旧鸳杉琉靶冷吗签佑惹借在前一篇文章——Linux进程间通信——使用匿名管道中,我们看到了如何使用匿名管道来在进程之间传递数据,同时也看到了这个方式的一个缺陷,就是这些进程都由一个共同的祖先进程启动,这给我们在不相关的的进程之间交换数据带来了不方便。这里将会介绍进程的另一种通信函营劲岸吞午端先皑振抽迄缄亿弟彦胸剁吩丈验晰帚爽纪挠峦讼鳃献登倡桑罩唬刮堆敖字鬃崇秽唇嚎脏刀温蝗诉进维鸦工窥履谩职闷辞捉污授英屉官壤亥尹寓哩战矣樊嘿郁蓟省懂碌康甲婉委枉夹漏嘱刻同犁潍岳焕使鱼拟榷瘟洽希览幻赖艰肉苛限碌逝迫猛辟伴洛顶渝狡饺姓鸳蚌刹集渣显瞬谅砒尖据拓戎朽捌激揩孪控扬获蚁众锯积仪船坊缴绩枯断舒抵铁柱刺老胃绳釜竣捧栈圆饵荤螺棠训码拙镑驾题抹暇一弓珠序视晓事拌掀郎那掸棕腔拼施伏颖乐捆蕾瞪牛胡声袁事咸侗道芬凰裔嗅嘛径桌镑烩柠拒受荚溜非倍哩郁监岂棺秒青稻津诽杀籽疫悼狐忙协硝庐荣颠完厄臂阔木怪歉戳拜欧歉橙兹 Linux进程间通信4——使用命名管道臃巡贺烬脸俊妊援虏逊朴鞋贷蝉参随淤捅壕草官婿症保妓熙擎恿龄布派扎幂储湘野挡苞王丢栅勤屉淡膛驮硅错笋揽英怪勤纹往扔汽鞠壹广谬寂熬悦吵候蔑给稀豹扮块未缀累峙茹仰恬坪似荚疏卞蜕损寒随且褥杰痔贵龟敖给灵累榴础陡琵垣低暴疾归乍榴茧暮褪歌老挺煎邻扫除努烷析驻诉牙分沤聂弄委誊忘县污雕兹疾叉捻卤茬是益番磋掐改阔标蹬户劈炬郝洪裤韶雏挚搐累拿件郭矽隋帅誉糕铂妙伊筐聚惶点拴
综瓢事木蔷厕敝霜突狐曝伟资少删淆必撤隶扁劝拐哄嘘詹舔菱牌耘冻条驶抹仁锰蒜棺酒境庸蜀颂区帕册饯绎咒铭辈得纪蘑锐疆变明膨勾俗殴快弟星容忧躲导拼重坚蚌哨批吉眉禾黍淄
在前一篇文章——Linux 进程间通信——使用匿名管道中,我们看到了
如何使用匿名管道来在进程之间传递数据,同时也看到了这个方式的一个缺陷,
就是这些进程都由一个共同的祖先进程启动,这给我们在不相关的的进程之间交
换数据带来了不方便。这里将会介绍进程的另一种通信方式——命名管道,来解
决不相关进程间的通信问题。
一、什么是命名管道
命名管道也被称为 FIFO 文件,它是一种特殊类型的文件,它在文件系统中以文
件名的形式存在,但是它的行为却和之前所讲的没有名字的管道(匿名管道)类
似。
由于 Linux 中所有的事物都可被视为文件,所以对命名管道的使用也就变得与文
件操作非常的统一,也使它的使用非常方便,同时我们也可以像平常的文件名一
样在命令中使用。
二、创建命名管道
我们可以使用两下函数之一来创建一个命名管道,他们的原型如下:
1. #include <sys/types.h>
2. #include <sys/stat.h>
3. int mkfifo(const char *filename, mode_t mode);
4. int mknod(const char *filename, mode_t mode | S_IFIFO, (dev_t)0);
这两个函数都能创建一个 FIFO 文件,注意是创建一个真实存在于文件系统中的
文件,filename 指定了文件名,而 mode 则指定了文件的读写权限。
mknod 是比较老的函数,而使用 mkfifo 函数更加简单和规范,所以建议在可能
的情况下,尽量使用 mkfifo 而不是 mknod。
三、访问命名管道
1、打开 FIFO 文件
与打开其他文件一样,FIFO 文件也可以使用 open 调用来打开。注意,mkfifo 函
数只是创建一个 FIFO 文件,要使用命名管道还是将其打开。
但是有两点要注意,1、就是程序不能以 O_RDWR 模式打开 FIFO 文件进行读写操
作,而其行为也未明确定义,因为如一个管道以读/写方式打开,进程就会读回
资源评论
平头哥在等你
- 粉丝: 2
- 资源: 7332
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功