0
が動作しません。何らかのテキストをstdinするとエラーになります。ここ は、子プロセスのコードです:このプロセスを実行するスクリプトのNode.js child.stdin.writeは子プロセスを実行しようとすると
import java.io.Console;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("started");
Console console = System.console();
while (true) {
String s = console.readLine();
System.out.println("Your sentence:" + s);
}
}
}
コード:
var spawn = require('child_process').spawn;
var child = spawn('java', ['HelloWorld', 'HelloWorld.class']);
child.stdin.setEncoding('utf-8');
child.stdout.pipe(process.stdout);
child.stdin.write("tratata\n");
// child.stdin.end();
それがスローされます:私はchild.stdinと行のコメントを解除
events.js:161
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at exports._errnoException (util.js:1028:11)
at Pipe.onread (net.js:572:26)
通知を、 。終わり();スクリプトを動作させるために必要な任意の反応
FWIW 'child.stdin.setEncoding( 'utf-8');'が正しくありません。 'setEncoding()'は 'Readable'ストリーム用ですが、' child.stdin'は 'Writable'ストリームとして使われます。 – mscdex
また、行末にLFの代わりにCRLFを使用してみましたか(たとえば、 'child.stdin.write(" tratata \ r \ n ");')? – mscdex