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