设为首页 加入收藏

TOP

Linux下的无名管道pipe的设计
2014-11-24 01:01:06 来源: 作者: 【 】 浏览:2
Tags:Linux 无名 管道 pipe 设计

1. 函数说明


pipe(建立管道):


1) 头文件 #include


2) 定义函数: int pipe(int filedes[2]);


3) 函数说明: pipe()会建立管道,并将文件描述词由参数filedes数组返回。


filedes[0]为管道里的读取端


filedes[1]则为管道的写入端。


4) 返回值: 若成功则返回零,否则返回-1,错误原因存于errno中。


错误代码:


EMFILE 进程已用完文件描述词最大量


ENFILE 系统已无文件描述词可用。


EFAULT 参数 filedes 数组地址不合法。


示例:


无名管道的创建是在fork创建前,通过pipe()创建管道,然后通过fork创建子进程,之后,子进程会拷贝父进程的代码段/数据段及堆栈段,因此,创建的管道会被复制一份,子进程一份,父进程一份,为了使管道正常通讯,必须处理已有管道。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux下调用库函数实现文件的读写 下一篇Linux下execl函数学习

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: