時々、他のプロセスが上書きされたファイルを読むことがあります。

時々、他のプロセスが上書きされたファイルを読むことがあります。

gpscsv --header 0 -n 1 > /tmp/location私は10秒または15秒ごとにGPS位置を更新するシステムサービス/タイマーを作成しました。

テキストファイルを確認すると、watch -n 1 cat /tmp/location返されたインスタンスがあります。テキストなし新しいデータが届く直前です。

のGPS位置を使用する別のスクリプトを書く予定ですが/tmp/location、これらの「書き込み中に読む」状況に弱くならないようにするにはどうすればよいですか?

答え1

ファイルに書き込まないでください!

あなたはGPSを持っていますDしたがって、これをデーモンとして使用してください。これがデーモンが発明されたユースケースです。/tmp/locationスクリプトは から読み取る代わりにそれ自身を呼び出す必要があり、それはgpscsvGPSDから場所を取得します。

関連情報