写在标准input的产生的child_process不起作用

我生成一个Java应用程序(REPL查询本地数据库)使用:

repl = = require('child_process').spawn('java', ['-cp', '...list of libs...', ,{ cwd: '...path to env...', env: process.env, customFds: [-1, -1, -1] }); 

REPL加载正常,因为我可以看到它的输出在标准输出,但stdin.write命令不经过。 我可以直接写他们的节点进程本身的控制台窗口(这是奇怪的,因为我没有.resume()它)。 我已经打印出衍生进程的标准input,它看起来像这样:

 { _handle: { writeQueueSize: 0, socket: [Circular], onread: [Function: onread] }, _pendingWriteReqs: 0, _flags: 0, _connectQueueSize: 0, destroyed: false, bytesRead: 0, bytesWritten: 0, allowHalfOpen: undefined, writable: true, readable: false } 

看起来没有定义“fd”,而且.readable返回false。 这怎么解决? (这是所有在Windows机器上,节点v0.6.6)谢谢

该文档指出, customFds选项已被弃用,因为它们无法使其在Windows上工作。

虽然-1的数组意味着它不应该被使用,因为整个选项已被弃用,请尝试彻底删除它,看看是否可以解决您的问题。