Linux进程间socketpair通信被阻塞的问题

mingshun 发布于 2013/01/13 18:09
阅读 1K+
收藏 0

在Linux下使用socketpair实现进程间通信。父进程建立子进程后,循环非阻塞wait,在循环中对socketpair的一端进行read。子进程开始后就会向socketpair的另一端write。但是偶尔子进程会死掉,但此时父进程正好处在wait之后read之前,之后父进程就会一直被read阻塞。

如果我确定要用socketpair,怎么样才能避免这种情况出现?我也试过让子进程先sleep一段时间再运行,但还是偶尔也会出现问题。

或者有其他什么替代方案可以既保证不被死掉的子进程阻塞read,又可以完整地读取子进程输出的数据?

加载中
返回顶部
顶部