Linux_4.3_无名管道通信
2015-06-22 11:07
531 查看
进程间通讯的目的:
通讯发展史:
进程间通讯的方式:
管道通信:
管道通信的特点:
无名管道:半双工管道(数据只能在一个方向上流动)
(1) 函数的学习
5.1创建无名管道
5.1.1 函数名
pipe
5.1.2 函数原形
int pipe(int pipefd[2])
5.1.3 函数功能
创建无名管道
5.1.4 所属头文件
#include<unistd.h>
5.1.5 返回值
成功:0
失败:-1
5.1.6 参数说明
pipefd[0]: 指向管道的读端fd
pipefd[1]: 指向管道的写端fd
实例:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main(void)
{
pid_t pid = 0;
int pipefd[2];
char c_buf[10];
/*2. create pipe*/
pipe(pipefd);
/*1. create process*/
pid = fork();
if(pid>0)
{
/*parent process write date*/
write(pipefd[1],"hello",6);
wait();
close(pipefd[1]);
exit(0);
}
if(pid==0)
{
/*progeny process*/
read(pipefd[0],c_buf,6);
printf("child read %s\n",c_buf);
close(pipefd[0]);
exit(0);
}
return 0;
}
相关文章推荐
- linux命令二
- Windows Linux Mac
- linux getrlimit sysconf
- centos配置iptables--2
- Hadoop在linux下无法启动DataNode解决方法
- CentOS 加载/挂载 U盘
- centos配置iptables
- RedHat Linux RPM方式安装MySQL5.6
- CentOS 6.6 安装SalkStack
- 在Linux中调度功能是由哪个函数来实现的???
- 进程管理与SELinux初探
- Linux常用命令英文全称与中文解释Linux系统
- 转载的,linux 14.04安装双显卡的驱动,切换
- linux通过使用mail发送电子邮件
- linux新的API signalfd、timerfd、eventfd使用说明
- 用USB安装Linux系统(centos7)
- linux笔记
- linux 下安装JDK 1.7
- Linux命令之文本处理(一)
- Linux_4.2_多进程程序设计