2

バッファに問題があります:

デーモン D とそのモニター M があります。D は M の前に開始され、M は関連情報を tty に出力します。この情報を解析して、自分のプログラムに渡す必要があります。

これを自動化したいので、M はファイルに出力する必要があります。しかし、バッファのために、デーモンが殺されるまではそうではありません。

だから私はttyを記録することを考えていたので、スクリプトを使用して出力を端末に記録しようとしましたが...それもバッファリングされています...

また、gnu coreutils にアクセスしようとしましたが (明らかに必要な stdbuf を利用するため)、GNU の Web サイトで提案されている独特の .xz 形式を解凍するためのユーティリティをインストールできなかったため、あきらめなければなりませんでした。

私は正しいことをしていないのではないかと心配しています!リアルタイムで作業するすべての人が持っている可能性のある、この問題に対する簡単な解決策はありませんか??

少し助けていただければ幸いです。ありがとう。

4

1 に答える 1

1
  1. xz.xz ファイル形式は、またはで抽出できます。7zip
  2. 同じ結果を達成するための LD_PRELOAD ハックもあるようです: http://lists.gnu.org/archive/html/bug-coreutils/2008-11/msg00164.html

このページは、stdio バッファリングに関する私の優先リファレンスです: http://www.pixelbeat.org/programming/stdio_buffering/

PS。「リアルタイムで作業するすべての人」は、おそらく IPC を使用し、bash に依存していません。Perl、python、および明らかにすべての低レベル言語は、バッファリングを明示的に無効/有効にする方法を提供します

于 2011-06-01T13:36:03.960 に答える