1

「child_process」モジュールと実行可能プログラムに問題があります。実行可能ファイルからノード プロセスに stdout をパイプしたいと考えています。

これを「cat」や「ls」などの単純なコマンドで機能させるのに問題はありませんが、実行可能ファイルでは機能しません。以下のコードを使用しています。

私の実行可能ファイルは、スタンドアロンで実行するとターミナルにデータを記録するので、これが機能しない理由がわかりません。ノード スクリプトと実行可能ファイルは同じディレクトリにあり、MacOS X で実行されます。

編集:実行可能ファイルは、開始すると永続的に実行され続けます。

var cp = require('child_process');

var cat = cp.spawn('cat', ['udpServer.js']);
cat.stdout.on('data', function(m) {
  // This will log just fine!
  console.log('cat');
  console.log(m);
});

var tracker = cp.spawn('./MyExecutable', []);
tracker.stdout.on('data', function(data){
  // This is never logged
  console.log('MyExecutable');
  console.log(data);
});
4

1 に答える 1