複数のプロセスが同じログファイルに書き込もうとしたときにログファイルが歪むのを防ぐためにsyslogを使用する方法は?

複数のプロセスが同じログファイルに書き込もうとしたときにログファイルが歪むのを防ぐためにsyslogを使用する方法は?

複数のプロセスが同じログファイルに書き込もうとしたときのsyslogの使い方を知りたいです。

for i in $var
do
some process >> logfile &
done
wait

ベストアンサー1

あなたはできます

some process | logger &

プロセスを作成し、その出力をシステムログに送信します。基本機能は「ユーザー」、基本レベルは「通知」です。このオプションを使用して変更できます-p

これが問題なく動作する理由は、プロセスがターゲットファイルに直接書き込まないためです。適切なファイルへの書き込みを管理するsyslogデーモンにメッセージを送信します。私が理解しているように、原子性はラインベースです。つまり、プロセスのすべての出力ラインは中断せずにsyslogに移動しますが、複数のラインメッセージを他のプロセスのラインと混在させることができます。

おすすめ記事