出力を標準出力に出力するクローズドソースプログラムがあります。出力を解析する必要があります。そのため、dup2 を使用して出力を fifo にリダイレクトし (そこから、バイナリをフォークして実行する親プロセスを読み取ることができます)、プログラムを実行します。問題は、現在ファイルに書き込みを行っているため、ファイル内の fprintf 呼び出しがバッファリングされることです。
exec を呼び出す前に、stdout で _IONBF を使用して setvbuf を呼び出してみました。しかし、問題はまだ存在します。
私の場合、setvbuf が役に立たないのはなぜですか?
出力を強制的にフラッシュするにはどうすればよいですか?