考虑以下:
- 一个有孩子的父进程
- 孩子使用 exec 系统调用运行另一个程序
- 父子通过双向管道进行通信(命名为 MAINPIPE in rest)
- 孩子是端口上的服务器绑定(例如 5000)
我的程序应该如下工作:
如果孩子从客户端收到某个消息,则创建另一个到他的父母的双向管道并发送/接收一些信息。
问题是:
当我在子级(使用)中创建一个管道pipe()
并将文件描述符传递给父级(使用 MAINPIPE)时,父级在尝试从管道读取时收到“错误的文件描述符”错误消息。
任何的想法?
编辑:
伙计们,
我的问题不是将在子进程中创建的新管道的文件描述符传递给父级,我已经使用 MAINPIPE 完成了,
但问题是:父进程无法从新管道读取,收到此错误消息“错误文件描述符”,似乎文件描述符在父进程中关闭!