python - 快速知道文件是否在 Linux 上打开的方法?

标签 python linux

有没有一种快速的方法(即最大限度地减少回答时间)来查明文件是否在 Linux 上打开?

假设我有一个进程在目录中写入大量文件,另一个进程读取这些文件一旦它们完成写入,后一个进程能否知道文件是否仍在写入到以前的过程?

如果可能,基于 Python 的解决方案将是理想的。

注意:我知道我可以使用基于 FIFO/队列的解决方案,但我正在寻找其他东西。

最佳答案

您当然可以使用 Linux 的 INOTIFY 功能,但更安全的做法是避免这种情况:让写入进程创建读取进程肯定会忽略的文件(比如 data.tmp)。当作者完成后,它应该为读者重命名文件(比如.dat)。重命名操作保证不会有误会。

关于python - 快速知道文件是否在 Linux 上打开的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11411428/

相关文章:

linux - Docker:--ipc=主机和安全

python - 更新 scikit-learn : 'SVC' object has no attribute '_probA' ?

python - Django 用户注册表最佳实践

pycurl 和 openssl 的 Python 问题

linux - 如何完全更改每个 Hadoop DataNode 上的底层磁盘?

linux - 加载共享库时出错 : libsigc-2. 0.so 与 libsigc-2.0.so.0

linux - x86-64 SysV ABI 中参数和返回值寄存器的高位是否允许垃圾?

Python bool 逻辑链

python - 从django的设计方案来看这两者的区别

头文件中的代码似乎会导致编译错误