0

プログラムを書きましたがC、そのプログラムには、ログ情報を標準出力に出力する多くの printf() があります。ここで、複数のプロセスを使用して、異なる引数でプログラムを同時に実行したいと考えています。そして、出力を stdout からログ ファイルにリダイレクトしたいと考えています>。ただし、複数のプロセスが同時に実行されていると、それらのログ情報出力が互いに重複し、将来の分析で混乱を招く可能性があります。

1 つの解決策は、異なるプロセスが異なる時間に終了することを考慮して、C プログラムを変更し、各ログ情報が一時的に一時ファイルに書き込まれるようにすることです。C プログラムが終了しようとしているとき。テンポラル ファイルから読み取り、コンテンツを stdout に書き込みます。これには多くの変更が必要です。

私の考えは次のとおりです。Cプログラムで、すべてのprintf()出力をバッファリングし、プロセスが終了したときにのみ出力をstdout/redirectionに入れることを願っています。

それは可能ですか?ありがとう!

4

1 に答える 1