Linux中pipe管道操作

news2024/11/24 15:55:12

管道的读写操作:

读操作:

  • ​​​有数据:read正常读,返回读出的字节数
  • 无数据:1 写段全部关闭:read解除阻塞,返回0,相当于文件读到了尾部
  •                2 写段没有全部关闭:read阻塞

写操作: 

  • 读端全部关闭:管道破裂,进程终止,内核给当前进程发SIGPIPE信号
  • 读端没有全部关闭:缓冲区写满了,write阻塞
  •                                 缓冲区没有满,继续write

设置管道为非阻塞:

 若想设置读写两端为非阻塞,则可以这样做:

int flag=fcntl(fd[0],F_GETFL,0);

flag = flag | NONBLOCK;

fcntl(fd[0],F_SETFL,flag);

若是读端为非阻塞:

写端没有关闭:管道中没有数据可读,返回-1

写端没有关闭:管道中有数据可读,返回实际读到的字节数

写端已经关闭:管道中有数据可读,返回实际读到的字节数

写端已经关闭:管道中没有数据可读,返回0

如何查看管道缓冲区大小:

ulimit -a

如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1445508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【学网攻】 第(25)节 -- 帧中继(多对一)

系列文章目录 目录 系列文章目录 文章目录 前言 一、帧中继是什么? 二、实验 1.引入 实验目标理解帧中继在广域网中的原理及功能; 实验背景 技术原理 实验步骤 实验设备 实验拓扑图​编辑 实验配置 实验验证 文章目录 【学网攻】 第(1)节…

手把手教你开发Python桌面应用-PyQt6图书管理系统-图书信息修改实现

锋哥原创的PyQt6图书管理系统视频教程: PyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~_哔哩哔哩_bilibiliPyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~共计24条视频&…

C++ //练习 5.19 编写一段程序,使用do while循环重复地执行下述任务:首先提示用户输入两个string对象,然后挑出较短的那个并输出它。

C Primer(第5版) 练习 5.19 练习 5.19 编写一段程序,使用do while循环重复地执行下述任务:首先提示用户输入两个string对象,然后挑出较短的那个并输出它。 环境:Linux Ubuntu(云服务器&#x…

CTFSHOW web 89-100

这边建议去我的gitbook或者github看观感更好(图片更完整) github:https://github.com/kakaandhanhan/cybersecurity_knowledge_book-gitbook.22kaka.fun gitbook:http://22kaka.fun 🏈 CTFSHOW PHP特性 (1)WEB 89 ①代码解释 <?php/* # -*- coding: utf-8 -*- # @…

第8讲个人中心页面搭建实现

个人中心页面搭建实现 <template><view class"user_center"><!-- 用户信息开始 --><view class"user_info_wrap"><!--获取头像--><button class"user_image"></button> <view class"user_n…

Java多线程:常见的锁策略

&#x1f451;专栏内容&#xff1a;Java⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;前路未远&#xff0c;步履不停 目录 一、乐观锁 vs 悲观锁1、乐观锁2、悲观锁 二、重量级锁 vs 轻量级锁1、重量级锁2、轻量级锁3、理解用户态 vs 内核态 三、自旋锁…

LibreOffice Calc 取消首字母自动大写 (Capitalize first letter of every sentence)

LibreOffice Calc 取消首字母自动大写 [Capitalize first letter of every sentence] 1. Tools -> AutoCorrect Options2. AutoCorrect -> Options -> Capitalize first letter of every sentenceReferences 1. Tools -> AutoCorrect Options 2. AutoCorrect ->…

SpringCloud-高级篇(二十一)

前面解决了消息的可靠性、消息的延迟问题&#xff0c;下面研究一下消息的堆积的问题&#xff1a; &#xff08;1&#xff09;消息堆积问题 消息产生堆积&#xff0c;上限后&#xff0c;最早的消息成为死信&#xff0c;有消息被丢弃&#xff0c;这对安全性较高的业务中是不行的…

Uniapp真机调试:手机端访问电脑端的后端接口解决

Uniapp真机调试&#xff1a;手机端访问电脑端的后端接口解决 1、前置操作 HBuilderX -> 运行 -> 运行到手机或模拟器 -> 运行到Android App基座 少了什么根据提示点击下载即可 使用数据线连接手机和电脑 手机端&#xff1a;打开开发者模式 -> USB调试打开手机端&…

小白速成法:剖析一个Android项目以快速上手

这是一个基于Tasmota的设备、用MQTT协议来通信控制的安卓应用程序。支持ON/OFF命令插座和基本的RGB LED控制。 源码点击此处 只需要关注SmartController-main\app\src的代码 项目解压之后如图 只需要关注“app”文件夹里的东西即可&#xff0c;“gradle”是配置文件&#xf…

【前端web入门第五天】03 清除默认样式与外边距问题【附综合案例产品卡片与新闻列表】

文章目录: 1.清除默认样式 1.1清除内外边距1.2清除列表圆点(项目符号) 3.外边距问题-合并现象4.外边距问题–塌陷问题5.行内元素垂直内外边距6.圆角与盒子阴影 6.1圆角 6.2 盒子模型-阴影(拓展) 综合案例一 产品卡片 综合案例二 新闻列表 1.清除默认样式 在实际设计开发中,要…

Pandas深度解析GroupBy函数的妙用技巧【第75篇—GroupBy函数】

Pandas深度解析GroupBy函数的妙用技巧 数据处理和分析中&#xff0c;Pandas是一款非常强大的Python库&#xff0c;提供了丰富的数据结构和功能&#xff0c;使得数据分析变得更加简便高效。其中&#xff0c;GroupBy函数是Pandas中一个重要且常用的功能&#xff0c;通过它我们可…

第四节课[XTuner微调]作业

文章目录 前言作业基础作业-XTuner InternLM-Chat 个人小助手认知微调实践 前言 XTuner 做在第三节课LangChain作业之前&#xff0c;因为第三节课没想好找哪个领域&#xff0c;等第三节课作业做了一起部署。 作业 基础作业-XTuner InternLM-Chat 个人小助手认知微调实践 然…

Ps:直接从图层生成文件(图像资源)

通过Ps菜单&#xff1a;文件/导出/将图层导出到文件 Layers to Files命令&#xff0c;我们可以快速地将当前文档中的每个图层导出为同一类型、相同大小和选项的独立文件。 Photoshop 还提供了一个功能&#xff0c;可以基于文档中的图层或图层组的名称&#xff0c;自动生成指定大…

渗透专用虚拟机(公开版)

0x01 工具介绍 okfafu渗透虚拟机公开版。解压密码&#xff1a;Mrl64Miku&#xff0c;压缩包大小&#xff1a;15.5G&#xff0c;解压后大小&#xff1a;16.5G。安装的软件已分类并在桌面中体现&#xff0c;也可以使用everything进行查找。包含一些常用的渗透工具以及一些基本工…

opencv图像像素的读写操作

void QuickDemo::pixel_visit_demo(Mat & image) {int w image.cols;//宽度int h image.rows;//高度int dims image.channels();//通道数 图像为灰度dims等于一 图像为彩色时dims等于三 for (int row 0; row < h; row) {for (int col 0; col < w; col) {if…

RabbitMQ之五种消息模型

1、 环境准备 创建Virtual Hosts 虚拟主机&#xff1a;类似于mysql中的database。他们都是以“/”开头 设置权限 2. 五种消息模型 RabbitMQ提供了6种消息模型&#xff0c;但是第6种其实是RPC&#xff0c;并不是MQ&#xff0c;因此不予学习。那么也就剩下5种。 但是其实3、4…

【数学建模】【2024年】【第40届】【MCM/ICM】【E题 财产保险的可持续性】【解题思路】

一、题目 &#xff08;一&#xff09; 赛题原文 2024 ICM Problem E: Sustainability of Property Insurance Extreme-weather events are becoming a crisis for property owners and insurers. The world has endured “more than $1 trillion in damages from more than …

尚硅谷 Vue3+TypeScript 学习笔记(下)

目录 五、组件通信 5.1. 【props】 5.2. 【自定义事件】 5.3. 【mitt】 5.4.【v-model】 5.5.【$attrs】 5.6. 【$refs、$parent】 5.7. 【provide、inject】 5.8. 【pinia】 5.9. 【slot】 1. 默认插槽 2. 具名插槽 3. 作用域插槽 六、其它 API 6.1.【shallowR…

Python学习从0到1 day16 Python文件操作

2024新年快乐&#xff01;&#xff01;&#xff01; 今天是大年初三&#xff0c;祝大家万事胜意&#xff0c;一切都会好的&#xff0c;休息了一段时间&#xff0c;从今天开始继续学习~ ​​​​​​​——24.2.12 一、文件的编码 计算机只能识别0和1&#xff0c;那么我们丰富的…