问题标签 [filelock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
126 浏览

.net - 如何在 .Net 中访问 Windows 全局文件锁定表?

有没有办法通过.Net 或通过.Net 中的Win32 API 访问Windows 全局文件锁定表?

我正在寻找一种更好的解决方案来确定一组文件是否被锁定,而不是检查每个单独的文件以查看是否已对其进行锁定。

0 投票
1 回答
3257 浏览

java - JVM 在哪里持有我的文件锁?

我正在处理 java.nio.file.AccessDeniedException 问题。

我有一个 Scala 程序,如果我这样做:

一切正常。我有一些我做的代码

但是当我尝试删除同一个文件时,我得到

我能说的最好的事情是 JVM 要么锁定文件,要么锁定文件所在的目录,但我不知道在哪里。检查文件是否相同的代码看起来像

我原以为关闭通道会释放 JVM 需要的任何文件锁。这是我实际打开文件进行读取的代码的唯一部分,尽管代码的其他部分确实会检查文件长度,但我不希望 JVM 需要文件锁。

JVM 持有文件锁的其他原因是什么?我怎样才能知道,我怎样才能释放它们?

干杯,埃里克

0 投票
2 回答
151 浏览

java - 通过 App 和 USB 同时访问文件

假设我有一个(库存)android 4.x 平板电脑通过 USB 连接到微控制器板。该板能够将 SD 卡作为 USB 大容量存储器访问,并读取/写入卡上的文件。现在平板电脑上应该有一个应用程序,它可以像板一样读取/写入相同的文件。因此,板和应用程序可以同时读取/写入文件访问。

为了避免不一致的数据等。当应用程序读取/写入文件时,我会使用独占FileLock 。现在我的问题是,如果 FileLock“足够低级”也可以在这种情况下工作并防止数据不一致?

谢谢

0 投票
1 回答
339 浏览

batch-file - 批处理:检查文件是否被锁定不起作用

我编写了以下批处理来执行以下步骤:

  • 检查服务器上的文件是否被其他用户打开
  • 备份文件
  • 打开文件

问题是,试图检查文件是否被锁定的行在服务器上不起作用。

任何人都可以帮我找出我的批次中的错误吗?

0 投票
1 回答
352 浏览

c# - 从 asp.net Page_Load 提供生成的文件后无法清理

我想通过 http 请求参数从 asp.net 网页提供动态创建的二进制文件,如下所示www.host.com/?Download=file:到目前为止我有

哪个有效,但 C:\Temp\file 仍然存在,我想清理它。调用File.Delete(@"C:\Temp\file");afterResponse.End()不起作用,因为会Response.End()杀死线程。将Response方法放在usingFile.Create( (...), FileOptions.DeleteOnClose)中不起作用,因为Response方法随后无法访问该文件。

有什么建议么?

0 投票
1 回答
96 浏览

php - php:从未获得文件的排他锁

在我的 php 脚本中,解析字符串后,我需要将一些数据写入文件(如果不存在则创建后)。在写入文件之前,我需要排他锁以避免出现问题。这是我的代码:

现在,有些东西似乎不起作用。fopen 创建文件,但我的代码似乎在 while 内部循环(文件已创建,但内部没有写入任何内容)。怎么了?

0 投票
2 回答
269 浏览

python - 如何使用'with'从上下文管理器中获取“结果”

我找到了一个文件锁定类的演示(这里:https ://groups.google.com/forum/#!topic/pug-pe/mQr7KX-cenU ),但我不太了解使用它的机制。

我相信这会说“如果传入的文件不存在,请打开它。完成后,将其删除。

演示的用途是:

它工作正常 - 如果我在看到“我在这里,我正在睡觉 10 秒......”时运行脚本,如果我在那 10 秒内再次运行它,我会看到“一次只能运行一个脚本. 脚本被 /tmp/my_script.lock 锁定”。然而,要使用文件锁,人们通常希望在做某事之前“等到获得锁”。但是,“sys.exit()”似乎阻止了这种情况。似乎我想以某种方式将'with'包装在一个while循环中?就像是:

但我不明白如何从 FileLock 获取返回值。有人可以解释如何做到这一点吗?

0 投票
1 回答
4529 浏览

java - 禁用 Neo4j 图形数据库的锁定?

我的应用程序正在填充 Neo4j 图形数据库/tmp/import.db。除了我的单元测试,我喜欢使用 Neo4j 浏览器(AKA Neo4j 社区)在同一个数据库中进行一些挖掘。当浏览器运行时,我的应用程序在运行时崩溃,因为它的数据库被锁定:

现在我必须在每次运行我的应用程序neo4j stop之间neo4j start查看更改。我的手已经厌倦了。

使用 Neo4j 浏览器时可以禁用数据库锁定吗?我想这样做是为了测试目的,因为它有助于了解我的数据库模型在我填充它时是如何演变的。

0 投票
1 回答
5346 浏览

vb.net - How can I release locks on files/folders after using Directory.GetFiles?

I'm using IO.Directory.GetFiles to search for files in a folder. After the searching is done, I can't use files in this folder until my application is closed. I haven't found any Dispose functions in DirectoryInfo class, so my question is: How can I release or unlock these files?

My code:

EDIT:

I have examined my code once again very carefully (I couldn't reproduce my problem in another project) and it turned out that this function is locking the files:

It's strange. I'm closing the FileStream and disposing the whole object but file remains locked.

0 投票
1 回答
276 浏览

c# - 强制 LibGit2Sharp 与其说是部分锁定的文件进行交互

我正在尝试使用 C# 库 LibGit2Sharp 在另一个程序打开时添加和提交二进制文件。调用失败并出现Repository.Index.RetrieveStatus()异常:

为散列读取文件时出错:该进程无法访问该文件,因为另一个进程已锁定该文件的一部分。

但是,从 shell 调用的 git 二进制文件执行相同的操作没有问题:

有没有办法说服 LibGit2Sharp 表现得像记录的那样?