求助兄弟进程管道通信问题

发布于 2022-09-30 19:12:42 字数 86 浏览 27 评论 0

想通过一个父进程fork出若干个兄弟进程,让他们用管道连成一个环通信,但是子进程如果调用read就会一直阻塞在哪里,怎么让read中断,然后重新去read一个管道描述符啊?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

も让我眼熟你 2022-10-07 19:12:42

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

多像笑话 2022-10-07 19:12:42

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

故事未完 2022-10-07 19:12:42

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

扮仙女 2022-10-07 19:12:42

也来学习一下

七婞 2022-10-07 19:12:42

回复 4# hai836045106

   谢谢了,我已经知道解决办法了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文