Linuxコマンド辞典 stdbufコマンド(プロセス管理)

標準入出力のバッファ動作を変更してコマンドを実行する「stdbuf」コマンドの概要と使い方を記載しています。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

概要・使用方法

標準入出力のバッファ動作を変更してコマンドを実行します。デフォルトの状態で標準入出力は、ある程度データをためてまとまった単位で表示などの動作を行うバッファ動作をしています。そのためファイルへの書き出しや表示が遅くなることがあります。stdbufはこれをバッファしないですぐに書き出ししたり、バッファサイズを増やして一括して書き出すように調整することができます。

書式

$ stdbuf オプション コマンド

オプション

-i モード
–input=モード
標準入力のバッファを変更する
-o モード
–output=モード
標準出力のバッファを変更する
-e
–error=モード
標準委エラー出力のバッファを変更する

モード

以下のモードが指定可能です。

モード説明
L行単位でバッファする
0バッファしない
KB1000倍と単位でバッファする
K1024バイト単位でバッファする
MB1000*1000バイト単位でバッファする
M1024*1024バイト単位でバッファする

1行単位でバッファ出力する

httpdのアクセスログから接続元だけラインバッファで出力

実行結果

[root@localhost suna]# tail -f /var/log/httpd/access_log | stdbuf -o L cut -d ' ' -f1
192.168.0.23
192.168.0.23
192.168.0.23
192.168.0.23
192.168.0.23
192.168.0.23
192.168.0.23
192.168.0.23
192.168.0.23
192.168.0.23