Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的邮件服务器每分钟写入一个文件,这很好,我很高兴它这样做。
但是在我的 WebServer 上,我想检查当前是否正在写入该文件,如果没有,则向用户显示下载链接。
有什么办法可以做到这一点。。
例如:运行一个循环,直到文件不再被写入,然后显示文件的下载链接?
我已经阅读过,flock()但我认为这不会有帮助,因为另一个进程/操作系统实际上正在创建文件!
flock()
您的编写脚本/应用程序/进程应该写入锁定文件(就像filename.lock在开始写入主文件之前一样的空文件,然后在完成后将其删除。这是常规锁定方法,但您的脚本只需要检查是否filename.lock存在。如果是,则正在写入文件。
filename.lock
如果当前没有其他人正在写入,您只能获取读取或写入锁。你不应该这样做。
此外,当用户下载文件时,可能同时文件已更改。你确定你对你想要的东西有正确的心理形象吗?