如何知道一个正在被写入的文件何时被写完 close?

2020-09-22 17:48:24 +08:00
 Peakday

我要监控一个文件,进程 A 会不定期往文件中覆写数据,当进程 A 向文件中写完数据并 close 文件的时候,我需要移动这个文件,我知道 Linux inotify 可以监控文件的 close_write 事件,但是别的操作系统例如 FreeBSD 、Solaris,只支持 write 、create 等事件,我没办法知道数据是在什么时候写完的,有大佬知道啥好办法吗

2927 次点击
所在节点    编程
3 条回复
dethan
2020-09-22 21:37:05 +08:00
进城 a 加锁 写完了放锁
louettagfh
2020-09-22 23:30:02 +08:00
1. 整一个 lock 文件
2. 文件起始位置用一个 Byte 标记状态..

好多办法监控 看你想怎么搞了
wnpllrzodiac
2020-09-23 07:20:58 +08:00
有关闭事件的吧。可以监听

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/709509

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX