たとえば、システム情報を表示し、定期的に更新する「トップ」アプリケーションを考えてみましょう。
node.js を使用して実行し、その情報を表示 (および更新) したいと考えています。私が思いついたコード:
#!/usr/bin/env node
var spawn = require('child_process').spawn;
var top = spawn('top', []);
top.stdout.on('readable', function () {
console.log("readable");
console.log('stdout: '+top.stdout.read());
});
それは私が期待したように動作しません。実際には何も生成しません:
readable
stdout: null
readable
stdout:
readable
stdout: null
そして終了します(これも予想外です)。
トップアプリケーションは一例です。目標は、ノードを介してこれらの更新をプロキシし、画面に表示することです (コマンド ラインから直接 top を実行するのと同じ方法)。
私の最初の目標は、scp を使用してファイルを送信するスクリプトを作成することでした。それを行った後、scp 自体が表示する進行状況情報が欠落していることに気付きました。scpノードモジュールを見回しましたが、それらもプロキシしません。したがって、top のような一般的なアプリケーションに戻ります。