Subject: How do I get lines from a pipe ... instead of only in larger blocks?
>From: jik@rtfm.MIT.Edu (Jonathan I. Kamens)
Date: Sun, 16 Feb 92 20:59:28 -0500

3.14) パイプから一行を得るとき、単に大きなブロックとしてでなく、 書きこまれたようにする方法はありませんか。

stdio ライブラリは、それが tty 上で動いているかどうかによって異なった バッファリングをします。もし tty 上であると判断すれば、1 行を基本とした バッファリングをし、そうでなければ、1 行より大きなバッファを使用しま す。

もし、バッファリングしたくないクライアントのソースコードを持っているな ら、バッファリングを変更するために setbuf() および setvbuf() を使用する ことができます。

そうでない場合、できることで最良のことは、pty 上で走行させることで、プ ログラムに tty 上で動いていると判断させるようにを試すことです。例えば、 ``pty'' という 3.9 に記載されているプログラムを使えば可能です。


UNIX FAQ LIST / Copyright(c)1994,Ted Timar / tmatimar@isgtec.com


Maintainer: あさだ たくや