🛠️

C言語のログ(logging:ロギング)処理(10)

1 min read

ログファイルがディスク(ストレージ)に書き込まれるのはいつ?

ここまで作成したロギングのプログラムはfflush()とfclose()はしているのですが、
突然のOSシャットダウン時にfflush()とfclose()後でもディスクに書き込まれない場合があります。
って書くと過去に作成したプログラムを思い出して青ざめる人がいそうな...

fsync() をすればディスクへ強制的に書き込まれるのでこれをfflush()の後、fclose()前に実行すれば良い。
ただ、処理コストが掛かるので、めったに起きない突然のOSシャットダウンにも対応したいログファイルのみにしたいですね。

https://linuxjm.osdn.jp/html/LDP_man-pages/man2/fsync.2.html

Discussion

ログインするとコメントできます