经过大量研究,也无法找到我的问题的解决方案后,我决定在这里发布stackoverflow。检查另一个程序是否有文件打开
那么我的问题是一种不同寻常的,所以我想这就是为什么我无法找到任何答案:
我有一个程序,被记录的东西到一个文件中。然后我有另一个负责转移该文件的人。最后,我有第三个获取文件并对其进行处理。
我的问题是: 文件传输程序需要在文件仍在录制时发送文件。问题是当文件传输程序到达文件的末尾时并不意味着该文件实际上是完整的,因为它仍在被记录。
这将是很高兴有一些东西来检查,如果记录器仍然打开文件,或者如果它已经关闭它可以判断文件的结尾是否真的是文件的真正结束,还是只是没有'还有待读的数据。
希望你能帮助我解决这个问题。也许你对如何解决这个问题有另一个想法。
预先感谢您。
GeKod
也许'inotify'?它可以在文件关闭时通知您。 – cha0site 2012-01-05 09:50:41
similar/duplicate - http://stackoverflow.com/questions/1087204/how-can-i-tell-if-a-file-is-open-elsewhere-in-c-on-linux – 2012-01-05 09:56:34
你可以修改作者的来源? – alk 2012-01-05 10:03:56