当前位置:  技术问答>linux和unix

命名管道open时被阻塞了

    来源: 互联网  发布时间:2015-03-16

    本文导语:  有一个主进程和一个子进程,它们之间通过两个命名管道进行通信,只有在主进程kill子进程的时候才把命名管道删除,现在有这么一个问题,如果使用 kill -9 子进程号   子进程杀掉后,在主进程打开命名管道时就...

有一个主进程和一个子进程,它们之间通过两个命名管道进行通信,只有在主进程kill子进程的时候才把命名管道删除,现在有这么一个问题,如果使用
kill -9 子进程号  
子进程杀掉后,在主进程打开命名管道时就被阻塞了,请问有什么解决方法么?


|
对一个FIFO,如果不设置成O_NONBLOCK方式,如果以只读或只写方式打开都会阻塞(因为kill -9 后你的子进程已经退出,相应他打开的FIFO也关闭了。
所以要想避免这种情况,还是把FIFO设成O_NONBLOCK的吧

|
应该有SIGPIPE的,你看看。

|
可以把管道社为非阻塞,或者用select

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.awt枚举desktop.action的类成员方法: open定义及介绍
  • java命名空间javax.swing类jfilechooser的类成员方法: open_dialog定义及介绍
  • java命名空间javax.sound.sampled类lineevent.type的类成员方法: open定义及介绍
  • java命名空间javax.management.remote类jmxconnectionnotification的类成员方法: opened定义及介绍
  • java命名空间java.util.logging类errormanager的类成员方法: open_failure定义及介绍
  • java命名空间java.nio.channels类pipe的类成员方法: open定义及介绍
  • java命名空间javax.print.attribute.standard类printerstatereason的类成员方法: interlock_open定义及介绍
  • java命名空间javax.print.attribute.standard类printerstatereason的类成员方法: door_open定义及介绍
  • java命名空间javax.management类jmx的类成员方法: open_type_field定义及介绍
  • java命名空间javax.print.attribute.standard类printerstatereason的类成员方法: cover_open定义及介绍
  • java命名空间java.awt.event类windowevent的类成员方法: window_opened定义及介绍
  • java命名空间java.util.zip类zipfile的类成员方法: open_read定义及介绍
  • java命名空间java.awt.event类keyevent的类成员方法: vk_open_bracket定义及介绍
  • java命名空间java.awt.geom类arc2d的类成员方法: open定义及介绍
  • java命名空间javax.swing.event类internalframeevent的类成员方法: internal_frame_opened定义及介绍
  • java命名空间java.util.zip类zipfile的类成员方法: open_delete定义及介绍
  • java命名空间javax.sound.midi接口mididevice的类成员方法: open定义及介绍
  • java命名空间java.awt类desktop的类成员方法: open定义及介绍
  • java命名空间javax.sound.sampled接口sourcedataline的类成员方法: open定义及介绍
  • java命名空间java.nio.channels类socketchannel的类成员方法: open定义及介绍
  • java命名空间javax.naming类namingexception的类成员方法: getrootcause定义及介绍
  • java文件重命名(文件批量重命名)实例程序代码分享
  • java命名空间javax.xml.soap接口name成员方法: getqualifiedname定义参考
  • 大家讨论一下Linux的命名规则
  • java命名空间javax.naming.event类namingevent的类成员方法: object_renamed定义及介绍
  • 批量重命名工具 Krename
  • java命名空间javax.naming接口context的类成员方法: getnameparser定义及介绍
  • solaris 安装 命名服务
  • java命名空间javax.naming.directory类searchcontrols的类成员方法: subtree_scope定义及介绍
  • 搞不懂TI的demo的线程命名,请教
  • java命名空间javax.swing类jtextpane的类成员方法: addstyle定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3