V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Peakday
V2EX  ›  编程

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

  •  
  •   Peakday · 2020-09-22 17:48:24 +08:00 · 2930 次点击
    这是一个创建于 1524 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    3 条回复    2020-09-23 07:20:58 +08:00
    dethan
        1
    dethan  
       2020-09-22 21:37:05 +08:00 via Android
    进城 a 加锁 写完了放锁
    louettagfh
        2
    louettagfh  
       2020-09-22 23:30:02 +08:00
    1. 整一个 lock 文件
    2. 文件起始位置用一个 Byte 标记状态..

    好多办法监控 看你想怎么搞了
    wnpllrzodiac
        3
    wnpllrzodiac  
       2020-09-23 07:20:58 +08:00 via Android
    有关闭事件的吧。可以监听
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1072 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 18:33 · PVG 02:33 · LAX 10:33 · JFK 13:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.