LIBSTDBUF(3) | FreeBSD Library Functions Manual | LIBSTDBUF(3) |
名称
libstdbuf — 標準のストリームの最初のバッファを変更するプレロードされたライブラリ解説
libstdbuf ライブラリは、標準入力、標準出力と標準エラーのストリームの最初のバッファを変更するために、 LD_PRELOAD 環境変数でプレロードされるように作られています。利用者は、このライブラリを手動でロードして、設定することができますが、適切な環境変数があるコマンドを実行するために、ユーティリティ stdbuf(1) を使用することができます。
環境変数
次の環境変数 (値は、下記に定義されます) を通して独立して各ストリームを、設定することができます:- _STDBUF_I
- 標準入力ストリームのための最初のバッファ定義
- _STDBUF_O
- 標準出力ストリームのための最初のバッファ定義
- _STDBUF_E
- 標準エラーストリームのための最初のバッファ定義
各変数は、次の値の 1 つを取ります:
- “0”
- バッファリングされません
- “L”
- 行単位のバッファリング
- “B”
- デフォルトのバッファのサイズで完全にバッファリングされます
- size
- size バイト (接尾辞 'k', 'M' and 'G' が受け付けられます) のバッファで完全にバッファリングされます
使用例
次の例で、 awk(1) コマンドの stdout ストリームは、端末を参照しないので、デフォルトで完全にバッファリングされます。 libstdbuf は、行単位でバッファリングされるように強制して使用されるので、 vmstat(8) の出力は、十分にバッファが満たされないなら、ストールしません。
# vmstat 1 | LD_PRELOAD=/usr/lib/libstdbuf.so \ STDBUF_1=L awk '$2 > 1 || $3 > 1' | cat -n
また、これを行う単純な方法については、 stdbuf(1) のマニュアルページを参照してください。
歴史
libstdbuf ライブラリは、 FreeBSD 8.4 ではじめて登場しました。作者
libstdbuf コマンドのオリジナルの考えは、GNU coreutils で、それを実装した に由来します。 は、 FreeBSD でそれを実装しました。April 28, 2012 | FreeBSD |