SIGPIPE and EPIPE

SIGPIPE and EPIPESIGPIPEandEPIPESIGPIPE是如下情况引起的(这里只是一个例子)grep”pattern”<reallyhugefile|headgrep有可能会输出上百万行,但是head只需要读取10行就会退出.一旦head将管道的读端关闭,那么grep就会获得SIGPIPE信号,然后被强制退出,使其节约资源.如果不想自己的程序因为这…

大家好,又见面了,我是你们的朋友全栈君。

SIGPIPE and EPIPE

SIGPIPE 是如下情况引起的 (这里只是一个例子)

grep "pattern" < reallyhugefile | head

grep 有可能会输出上百万行, 但是 head 只需要读取10行就会退出. 一旦 head 将管道的读端关闭, 那么 grep 就会获得 SIGPIPE 信号, 然后被强制退出, 使其节约资源.

如果不想自己的程序因为这个信号被杀死, 那么必须自己来处理 SIGPIPE

通常处理办法就是忽略这个信号, 通过 signal() 或是 sigaction(). 当然该状态可以通过全局errno变量来获取(errno == EPIPE)

总给

该信号产生的原因是因为管道的读端关闭了, 而某个地方仍然在用 write() 写数据.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139082.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 关于redis的几件小事(五)redis保证高并发以及高可用

    关于redis的几件小事(五)redis保证高并发以及高可用关于redis的几件小事(五)redis保证高并发以及高可用

    2022年4月22日
  • 网站开发html_网页基础代码大全

    网站开发html_网页基础代码大全网页的标准是W3C,目前模式是HTML、CSS和JavaScript。HTML标签<!DOCTYPEHTML>是文档声明,必须写在HTML文档的第一行,位于<html>

    2022年8月2日
  • 大数据开发之Hadoop篇—-jps命令的剖析「建议收藏」

    我们在大数据的日常生产当中会经常使用到jps命令,如果问起很多人他们都会知道jps命令是用来干什么的,查看java相关的进程。但是这个命令是属于哪个组件提供的呢?最起码可以肯定不是linux系统自带的。jps是属于jdk自带的命令,当你机器安装了jdk同时将jdk配置到系统的环境变量当中后,在命令行输入jps就可以查看当前的java进程了。当我们使用hadoop这个用户开启了三个java进…

    2022年4月11日
  • JVM之内存结构详解

    JVM之内存结构详解对于开发人员来说,如果不了解Java的JVM,那真的是很难写得一手好代码,很难查得一手好bug。同时,JVM也是面试环节的中重灾区。今天开始,《JVM详解》系列开启,带大家深入了解JVM相关知识。我们不能为了面试而面试,但是学习会这些核心知识你必定会成为面试与工作中“最亮的一颗星”。本系列首发于微信公众号“程序新视界”。下面,开启我们的第一篇文章《JVM之内存结构详解》。学习也是要讲究方式方法…

    2022年6月11日
  • OpenCV中的width与widthStep

    OpenCV中的width与widthStep1.在opencv中width表示的是图像的每行像素数,widthstep表示的是存储一行像素需要的字节数,位了快速读取数据,在opencv中一般使widthStep为4的倍数,从而实现字节的对齐,有利于提高运算速度。2.函数的原型为image->widthStep=(((image->width*image->nChannels*(image->depth&~IPL_DEPTH_SIGN)+7)/8)+align-1)&(~(alig

    2022年5月30日
  • 喊山第二部_demjanov重排

    喊山第二部_demjanov重排原题链接喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的。原来它是彝族先民用来求援呼救的“讯号”,慢慢地人们在生活实践中发现了它的实用价值,便把它作为一种交流工具世代传袭使用。(图文摘自:http://news.xrxxw.com/newsshow-8018.html)一个山头呼喊的声音可以被临近的山头同时听到。题目假设每个山头最多有两个能听到它的临近山头。给定任意一个发

    2022年8月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号