1

出力ログをSTDOUTに書き込むだけのサーバープログラムがあります。「logfile」という名前の別のPerlシェルスクリプトもあります。これは、STDINからデータを取得し、出力を表示します。

linux$ server |  logfile

最初はログファイルに出力がありますが、しばらくすると停止します..この問題に遭遇した人はいますか?

4

1 に答える 1

3

serverおそらく出力をバッファリングし、チャンクでパイプに供給します。serverPerlスクリプトですか?追加

$| = 1;

また

use Handle qw( );
STDOUT->autoflush(1);

STDOUT のバッファリングを無効にします。(まあ、最初のものは、select編集したハンドルのバッファリングを無効にしますが、それはデフォルトで STDOUT です。)

于 2012-09-22T08:29:21.453 に答える