は、私はそれはあなたがやりたいように思わなければならないものだ。
var util = require('util'),
sys = require('sys'),
spawn = require('child_process').spawn,
ruby = spawn('ruby', [__dirname + '/process.rb']);
function trim(str) {
return str.replace(/^\s+|\s+$/, '');
}
ruby.stdout.on('data', function(data) {
console.log('stdout: ' + trim(data.toString()));
});
ruby.stdout.on('end', function(data) {
ruby.stdout.flush();
});
ruby.stderr.on('data', function(data) {
console.log('stderr: ' + data);
});
ruby.on('exit', function(code, signal) {
if(code != null) console.log('exit: ' + code);
else if(signal != null) console.log('killed: ' + signal);
});
ruby.stdin.write("ping\n");
ruby.stdin.end();
は、あなたがそれ自体でRubyのコードを実行することがありますか?あなたは同じ振る舞いを見ますか、それとも期待どおりに動いていますか? – Pat
@patコマンドラインからrubyコードを実行すると、ランダムなテキストを入力してEnterキーを押すと、テキストがエコーされ、同じディレクトリにログファイルが作成されます。 –
訂正:私は期待した場所ではなく、空のプロセスログファイルを作成します。私は私の質問を更新します。また、STDIN.each_lineの部分を除外すると、rubyファイルが正常に動作することもわかります。 –