【发布时间】:2010-07-23 21:04:08
【问题描述】:
我目前正在写一些东西来解决这个 Java 错误:
http://bugs.sun.com/view_bug.do?bug_id=5049299
基本上,我有一个轻量级的 C 服务器,它与 Java 服务器在同一台机器上运行。当我可以请求它通过套接字分叉/运行一个新进程并传回标准输入/标准输出/标准错误时,我正在向 C 服务器添加一个功能。在 Java 方面,我创建了一些模仿 ProcessBuilder 和 Runtime.exec() 行为的东西,但在套接字上。
stderr 出现问题。 Java 套接字没有错误流,所以我对如何恢复它有点茫然。我提出了两种可能的解决方案:
- 创建第二个套接字(可能 从 C 服务器回到 Java 服务器)在哪里我只是发送stderr 回来。
- 交错输出 带有 stderr 的进程 处理然后将它们分开解析 Java 回到单独的流中
这两种解决方案都有固有的问题,所以我很想听听任何人的反馈。
奖励:给我一个简单的、有保证的 Java 错误解决方案,不需要我做任何事情,我将永远是你最好的朋友。
【问题讨论】: