2

node.jsスクリプトは、maxima数式処理システムを呼び出し、入力をstdinmaximaのにリダイレクトします。Maximaは、処理された入力を一時テキストファイルに書き込みます。このファイルには、maximaが返すすべての結果に対して新しい行があります。

ノードはファイルに書き込まれた新しいデータを監視し、何らかの方法でこのデータをキャプチャできますか(ファイル全体ではなく、ファイルに書き込まれた新しい行のみ)?

すでに試しfs.watchFileましたが、返された実際のデータをキャプチャできませんでした。

ありがとう。

4

1 に答える 1

0

fs.watchFileオペレーティングシステム(Linuxではinotify)の実際のファイル監視機能にプラグインし、これらのイベントをルーティングするだけです。行が変更されたロジックなどは、自分で実装する必要があります。これはログファイルであるため、おそらくテールにのみ関心があり、他のプログラムを再利用できます。たとえば、この例を参照してください。

自分でロールしたい場合は、次のようにします。

fs.watchFile("/path/to/log.txt", function (prev, curr) {
    // verify writes
    if (x && y && z) {
        fs.readFile("/path/to/log.txt", "utf8", function (err, body) {
             // check what has been appended
        });
    }
});
于 2011-12-05T13:26:19.147 に答える