关于c ++:linux stdout管道问题

linux stdout pipe issues

我有一个服务器程序,只是将输出日志写入STDOUT。
我还有另一个名为" logfile"的Perl Shell脚本,它将从STDIN获取数据并显示一些输出。

1
linux$ server |  logfile

最初,日志文件已输出,但片刻后停止。
有没有人遇到过这个问题?


server可能缓冲其输出,将其分块地馈送到管道。 server是Perl脚本吗? 加

1
$| = 1;

要么

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

禁用STDOUT缓冲。 (好吧,第一个将禁用对select ed的任何句柄的缓冲,但是默认情况下为STDOUT。)