一个简单的无名管道示例
2012-09-14 17:10
281 查看
Linux中,函数
创建一个无名管道,产生了两个 文件描述符,存放在数组 fds 中,其中 fds[0] 表示读端,fds[1] 表示写端;成功返回0,失败返回-1;
示例:创建一个无名管道,fork一个子进程,父进程写,子进程读。
int pipe(int fds[2]);
创建一个无名管道,产生了两个 文件描述符,存放在数组 fds 中,其中 fds[0] 表示读端,fds[1] 表示写端;成功返回0,失败返回-1;
示例:创建一个无名管道,fork一个子进程,父进程写,子进程读。
#include <stdio.h> #include <stdlib.h> #include <errno.h> #include <unistd.h> int main(void){ int fds[2]; if(pipe(fds)){ perror("pipe"); exit(1); } pid_t pid; char buf[80]; if((pid = fork()) < 0){ perror("fork"); exit(1); } else if(pid > 0){ printf("in father progress\n"); char s[] = "Hello~message from father progress~"; write(fds[1], s, sizeof(s)); close(fds[0]); close(fds[1]); } else{ printf("in children progress\n"); read(fds[0], buf, 80); printf("%s\n", buf); close(fds[0]); close(fds[1]); } waitpid(pid, NULL, 0); return 0; }
相关文章推荐
- 一个简单的SQL游标示例的存储过程
- Vue封装一个简单轻量的上传文件组件的示例
- java泛型之一个简单的泛型示例
- 小程序大问题,MSDN中一个小小示例所带来的疑问,一个关于DataList的一个简单应用
- (WCF)示例一: 构建一个简单的WCF Service: MagicEightBall
- 一个简单示例来演示用PHP访问表单变量
- 一个简单的UDP服务端和客户端示例
- [MySQL5.6] 一个简单的optimizer_trace示例
- 一个简单的MD5加密算法C语言示例程序
- .Net Attribute详解(上)-Attribute本质以及一个简单示例
- 2-路插入排序 一个简单示例
- 冒泡排序 一个简单示例
- 一个简单的示例讲解游戏游戏编程原理。附示例源码(转)
- 简单的一个远传采集并下载远传图片存储到本地示例
- MFC 一个简单的消息示例
- 动态库的一个简单示例
- MyBatis学习笔记(一)---一个简单MyBatis示例
- [导入]Asp.net 2.0 一个简单的联动DropDownList示例(示例代码下载)
- Skinned Mesh原理解析和一个最简单的实现示例
- 简单的实现,在无名管道里父子进程间的通信(大小写的转换)