免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2245 | 回复: 5
打印 上一主题 下一主题

求助兄弟进程管道通信问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-25 23:03 |只看该作者 |倒序浏览
想通过一个父进程fork出若干个兄弟进程,让他们用管道连成一个环通信,但是子进程如果调用read就会一直阻塞在哪里,怎么让read中断,然后重新去read一个管道描述符啊?

论坛徽章:
0
2 [报告]
发表于 2011-03-26 21:23 |只看该作者
我也是新手啊,呵呵试着回答 一下。read没有设置不阻塞直接返回-1的机制,要中断的话只能你使用超时,就是 alarm();
例如
alarm(4);
read();
alarm(0);
这样限时4秒读,如果发生阻塞的话进程会收到信号。然后你再设置接收信号的函数就可以了。
http://blog.chinaunix.net/space.php?uid=21383798 是我的博客,有空多交流

论坛徽章:
0
3 [报告]
发表于 2011-03-26 21:24 |只看该作者
我也是新手啊,呵呵试着回答 一下。read没有设置不阻塞直接返回-1的机制,要中断的话只能你使用超时,就是 alarm();
例如
alarm(4);
read();
alarm(0);
这样限时4秒读,如果发生阻塞的话进程会收到信号。然后你再设置接收信号的函数就可以了。
http://blog.chinaunix.net/space.php?uid=21383798 是我的博客,有空多交流

论坛徽章:
0
4 [报告]
发表于 2011-03-26 21:25 |只看该作者
我也是新手啊,呵呵试着回答 一下。read没有设置不阻塞直接返回-1的机制,要中断的话只能你使用超时,就是 alarm();
例如
alarm(4);
read();
alarm(0);
这样限时4秒读,如果发生阻塞的话进程会收到信号。然后你再设置接收信号的函数就可以了。
http://blog.chinaunix.net/space.php?uid=21383798 是我的博客,有空多交流

论坛徽章:
0
5 [报告]
发表于 2011-03-27 14:09 |只看该作者
也来学习一下

论坛徽章:
0
6 [报告]
发表于 2011-03-31 21:05 |只看该作者
回复 4# hai836045106


   谢谢了,我已经知道解决办法了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP