进程间通信

简介: 1.无名管道 int pipe(int pipefd[2]);参数:@pipefd 获得操作管道的文件描述符 返回值:成功返回0, 失败返回-1 特点:.
1.无名管道 
int pipe(int pipefd[2]);
参数:
@pipefd 获得操作管道的文件描述符 
返回值:
成功返回0, 失败返回-1 

特点:
<1>.pipefd[0] 读管道文件描述符 ,pipefd[1] 写管道文件描述符 
<2>.只能亲缘关系间进程通信(亲缘关系进程存在数据拷贝)

练习:
父进程向管道中输入数据,子进程从管道中读取数据,然后输出 
当输入"quit"的时候,父子进程结束
----------------------------------------------------------------------------
管道读写规则:

<1>写端存在,读管道 
   管道中有数据,读取实际的数据,如果没有数据,读则阻塞 

<2>写端不存在,读管道   
   管道中有数据,读取实际的数据,如果管道中没有数据,读不阻塞,返回 0 

<3>读存在,写管道 
   管道空闲的时候,写入数据,管道满的时候,写阻塞 

<4>读端不存在,写管道 
   此时写管道没有意义,内核会发送SIGPIPE杀死写管道的进程
----------------------------------------------------------------------------

2.有名管道 

特点:
<1>可以实现任意进程间通信 
<2>在文件系统存在名字,是管道文件,不占用磁盘空间 

(1)创建有名管道文件 
int mkfifo(const char *pathname, mode_t mode);

(2)打开有名管道文件 

[1]只读方式打开有名管道文则阻塞,直到另一端以写的方式打开
[2]只写方式打开有名管道文则阻塞,直到另一端以读的方式打开

(3)通过read/write读写有名管道 

注意:有名管道读写规则遵从无名管道的读写规则

练习:
A 进程和B进程聊天
相关文章
|
6月前
|
人工智能 编解码 芯片
告别低效沟通|让技术提问不再头疼-这套高效AI提问模板来帮你
不会向ai提问,不知道怎么提问的 可以看看
20693 1
告别低效沟通|让技术提问不再头疼-这套高效AI提问模板来帮你
|
5月前
|
监控 数据可视化 数据处理
微信养号脚本,全自动插件,AUTOJS开发版
这是一套自动化微信养号工具,包含主脚本`wechat_auto.js`与配置文件`config.json`。主脚本实现自动浏览朋友圈、随机阅读订阅号文章及搜索指定公众号三大功能,支持自定义滚动次数、阅读时长等参数。代码通过随机化操作间隔模拟真实用户行为,具备完善的错误处理和日志记录功能。配套UI模块提供可视化操作界面,可实时监控任务状态与运行日志,便于调整参数设置。控制器部分扩展了批量数据处理能力,如学生信息的增删改查操作,适用于多场景应用。下载地址:https://www.pan38.com/share.php?code=n6cPZ 提取码:8888(仅供学习参考)。
|
11月前
|
存储 云安全 安全
云概述:云计算简明概述
本文概述了云计算的基本概念、服务模型(IaaS、PaaS、SaaS)、部署模型(私有云、社区云、公共云、混合云)、应用场景(云存储、云桌面、云游戏等)及市场趋势,强调了云计算在推动数字化转型中的重要作用。
1438 60
云概述:云计算简明概述
|
11月前
|
JSON NoSQL Redis
Redis Stack是什么,你知道吗?
Redis Stack 是 Redis 官方推出的一款新产品,扩展了 Redis OSS 的核心功能,提供完整的开发人员体验。它支持概率数据结构、可查询的 JSON 文档、跨哈希和 JSON 文档查询、时间序列数据处理等高级功能。Redis Stack 包含 Redis Stack Server、RedisInsight 和客户端 SDK,适用于构建实时应用程序。安装方式包括直接安装和 Docker 安装,使用方法与 Redis 类似,支持 JSON、Bloom Filter 等数据类型及操作命令。
1673 1
|
机器学习/深度学习 搜索推荐 算法
推荐系统的矩阵分解和FM模型
推荐系统的矩阵分解和FM模型
212 0
|
安全 网络安全 数据安全/隐私保护
计算机网络实验(思科模拟器Cisco Packet Tracer)——无线路由和防火墙配置
计算机网络实验(思科模拟器Cisco Packet Tracer)——无线路由和防火墙配置
计算机网络实验(思科模拟器Cisco Packet Tracer)——无线路由和防火墙配置
|
机器学习/深度学习 人工智能 算法
在对齐 AI 时,为什么在线方法总是优于离线方法?
【5月更文挑战第28天】在线AI对齐优于离线方法的原因在于其能更好地捕捉人类反馈的细微差别,通过多样化和相关的数据生成。尽管离线方法效率高、可利用大规模数据,但其数据集可能无法全面反映实际应用场景。研究强调在线采样的关键作用,但也指出离线对齐的效率和泛化优势。[查看论文](https://arxiv.org/abs/2405.08448)以获取详细信息。
270 2
|
机器学习/深度学习 人工智能 算法
Stable Diffusion中的常用术语解析
在使用stable diffusion的过程中,你会听到很多术语,是不是很迷茫这些词到底是做什么的?不用怕,看这篇文件就够了。
|
监控 Dubbo Java
深入理解 Dubbo:构建分布式服务治理体系
深入理解 Dubbo:构建分布式服务治理体系