进程间通信:采用有名管道,创建两个发送接收端,父进程写入管道1和管道2,子进程读取管道2和管道1.

本文主要是介绍进程间通信:采用有名管道,创建两个发送接收端,父进程写入管道1和管道2,子进程读取管道2和管道1.,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作业1:有名管道,创建两个发送接收端,父进程写入管道1和管道2,子进程读取管道2和管道1.

 

右进程 

#include <myhead.h>
int main(int argc, const char *argv[])
{pid_t pid=fork();if(pid>0)//父进程,将数据发送至管道1{int fd1;int len;char buff[1024];fd1=open("./fifo_a",O_WRONLY);if(fd1==-1){perror("打开管道1");return -1;}while(1){len=read(0,buff,sizeof(buff));//从键盘读取数据buff[strlen(buff)-1] = '\0';write(fd1,buff,len);//将数据发送至管道1if(strcmp(buff,"quit")==0){break;}}close(fd1);}else if(pid==0){int fd2;int len1;char buff1[1024];fd2=open("./fifo_b",O_RDONLY);if(fd2==-1){perror("打开管道2");return -1;}while(1){len1=read(fd2,buff1,sizeof(buff1));//从管道2读取数据write(1,buff1,len1);if(strcmp(buff1,"quit")==0){break;}}close(fd2);}else{perror("pid");return -1;}return 0;
}

左进程 

#include <myhead.h>
int main(int argc, const char *argv[])
{pid_t pid=fork();if(pid>0)//父进程,将数据发送至管道1{int fd1;int len;char buff[1024];fd1=open("./fifo_b",O_WRONLY);if(fd1==-1){perror("打开管道1");return -1;}while(1){len=read(0,buff,sizeof(buff));//从键盘读取数据buff[len-1] = '\0';write(fd1,buff,len);//将数据发送至管道1if(strcmp(buff,"quit")==0){break;}}close(fd1);}else if(pid==0){int fd2;int len1;char buff1[1024];fd2=open("./fifo_a",O_RDONLY);if(fd2==-1){perror("打开管道2");return -1;}while(1){len1=read(fd2,buff1,sizeof(buff1));//从管道2读取数据write(1,buff1,len1);if(strcmp(buff1,"quit")==0){break;}}close(fd2);}else{perror("pid");return -1;}return 0;
}

这篇关于进程间通信:采用有名管道,创建两个发送接收端,父进程写入管道1和管道2,子进程读取管道2和管道1.的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1116770

相关文章

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二

Redis Pipeline(管道) 详解

《RedisPipeline(管道)详解》Pipeline管道是Redis提供的一种批量执行命令的机制,通过将多个命令一次性发送到服务器并统一接收响应,减少网络往返次数(RTT),显著提升执行效率... 目录Redis Pipeline 详解1. Pipeline 的核心概念2. 工作原理与性能提升3. 核

Python如何精准判断某个进程是否在运行

《Python如何精准判断某个进程是否在运行》这篇文章主要为大家详细介绍了Python如何精准判断某个进程是否在运行,本文为大家整理了3种方法并进行了对比,有需要的小伙伴可以跟随小编一起学习一下... 目录一、为什么需要判断进程是否存在二、方法1:用psutil库(推荐)三、方法2:用os.system调用

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

基于Python实现读取嵌套压缩包下文件的方法

《基于Python实现读取嵌套压缩包下文件的方法》工作中遇到的问题,需要用Python实现嵌套压缩包下文件读取,本文给大家介绍了详细的解决方法,并有相关的代码示例供大家参考,需要的朋友可以参考下... 目录思路完整代码代码优化思路打开外层zip压缩包并遍历文件:使用with zipfile.ZipFil

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用