調査をしても、私の問題の解決策を見つけることができなかったのですが、ここでstackoverflowに投稿することにしました。別のプログラムが開いているファイルがあるかどうかを確認
まあ私の問題は、私は、私はすべての答えを見つけることができなかった理由だと思う一種の珍しいです:
私は、ファイルにコンテンツを記録しているプログラムを持っています。それから私はそのファイルを転送する責任がある別のものを持っています。最後に、ファイルを取得して処理する3番目のファイルがあります。
私の問題は: ファイル転送プログラムは、ファイルがまだ記録されている間に送信する必要があります。問題は、ファイル転送プログラムがファイルの末尾に到達しても、ファイルが実際にはまだ記録されているため、ファイルが実際に完全であるとは限りません。
レコーダーがそのファイルをまだ開いているかどうか、またはファイルの終わりが実際にファイルの終わりであるかどうかを判断できるように既にクローズしているかどうかを確認するのは良いことです。それ以上のデータはまだ読み取られません。
あなたはこの1つで私を助けてくれることを願っています。多分あなたはこの問題を解決する方法について別のアイデアを持っているかもしれません。
ありがとうございます。
GeKod
おそらく 'inotify'ですか?ファイルが閉じられたときに通知されます。 – cha0site
類似/重複 - http://stackoverflow.com/questions/1087204/how-can-i-tell-if-a-file-is-open-elsewhere-in-c-on-linux –
作家のソース? – alk