首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux基础>经验技巧>正文

Linux进程间通信:管道及有名管道

http://www.oklinux.cn  2006-01-01  来源: 赛迪网技术社区  郑彦兴   会员收藏  游客收藏  【 】 

管道及有名管道

在本系列序中作者概述了 linux 进程间通信的几种主要手段。其中管道和有名管道是最早的进程间通信机制之一,管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。 认清管道和有名管道的读写规则是在程序中应用它们的关键,本文在详细讨论了管道和有名管道的通信机制的基础上,用实例对其读写规则进行了程序验证,这样做有利于增强读者对读写规则的感性认识,同时也提供了应用范例。

1、 管道概述及相关API应用

1.1 管道相关的关键概念

管道是Linux支持的最初Unix IPC形式之一,具有以下特点:

管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;

只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);

单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。

数据的读出和写入:一个进程向管道中写的内容被管道另一端的进程读出。写入的内容每次都添加在管道缓冲区的末尾,并且每次都是从缓冲区的头部读出数据。

1.2管道的创建:

#include 
int pipe(int fd[2])

该函数创建的管道的两端处于一个进程中间,在实际应用中没有太大意义,因此,一个进程在由pipe()创建管道后,一般再fork一个子进程,然后通过管道实现父子进程间的通信(因此也不难推出,只要两个进程中存在亲缘关系,这里的亲缘关系指的是具有共同的祖先,都可以采用管道方式来进行通信)。

共7页: 上一页 1 [2] [3] [4] [5] [6] [7] 下一页

上一篇:Linux下程序开发:使用QT制作Skin   下一篇:Linux操作系统的X86汇编程序设计


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Linux下程序开发:使用QT制作Skin
·Linux操作系统的X86汇编程序设计
·Linux下程序开发:QT中使用图形库
·Linux程序开发:QT中的多线程编程
·Linux上实现Socket的多进程实时通信
·Gentoo版Linux操作系统的前世今生
·开发Linux操作系统后台服务进程详解
·Linux操作系统的声音设备编程实例
·Linux系统PDA软件开发环境的构建
·Linux操作系统的编程环境详细介绍
·难得一见十大经典Linux系统当机画面
·Linux下程序开发:QT的信号与槽机制
·Linux VS Unix你的真命天子到底是谁
·推荐:Linux操作系统管理技巧大荟萃
·Linux上找出并解决程序错误方法(下)
·Linux下程序开发:用QT创建新风格
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·成功升级到红旗Linux6.0 SP1经验分享
·Ubuntu游戏之平行球的安装
·Ubuntu与Windows双系统使用时的注意事
·Ubuntu下安装矩阵实验室Matlab
·Ubuntu 7.10下wine-0.9.57的中文配置
·Linux初学指南 Ubuntu下rpm包的安装方
·Fedora 8正式版下载地址分享
·惠普笔记本6510B中安装Fedora 8成功例
·Fedora 8 下JDK 6.0 配置技巧
·Ubuntu 3D桌面特效展示!超绚目(图)
·解析Linux系统下GRUB故障修复
·Linux终端模式下查看电脑的硬件配置情
  阅读排行
·Linux爱好者入门教程
·Linux操作系统下的串口通信学习笔记
·从硬盘安装RHEL 5(Red Hat Enterprise
·Vim实用技术第一部分:实用技巧
·Vmware Workstation 5.0.0使用说明
·VM中Linux虚拟机下安装VMware Tools
·新手看招:调试工具GDB基本知识全接触
·Gentoo版Linux操作系统的前世今生
·如何在Linux/FreeBSD下玩模拟器游戏
·探索Linux 操作系统内存模型和管理
·Linux系统中用ALSA驱动声卡流程详解
·并不绝对安全:Linux下安全十二法则
·将Linux代码移植到Windows的简单方法
·Linux操作系统网络驱动程序编写详解
·Linux创建文件及挂载系统流程详解
网摘收藏: