我想知道是否有可能在写入之前检查管道是否已打开?如果打开管道,我不希望管道的另一端从中读取,我只想检查管道是否要发送SIGPIPE信号,以及是否关闭了我的程序。阅读(...)的程序不应该做出反应。
编辑:答案很简单..我只需写一个msg 0字节长...
答案 0 :(得分:0)
这是一个命名管道吗?
你可以做的一件事就是在作家和读者中打开命名管道进行阅读(当然也可以写作)。当你运行编写器时,这会将管道标记为两端打开,但当然你的作者实际上不会从中读取它。
见this manpage on fifos。看起来多个进程可以打开管道进行读取。